睿尔曼超轻量仿人机械臂--西门子PLC与机械臂通信物体抓取

发布时间 2024-01-09 11:23:03作者: Alvin_429

1. 软硬件配置

软件配置

        系统环境:win10

        PLC软件:博图V16

        机械臂示教器:V6.1.2

        JSON协议:V3.5.5

        由于机械臂相关软件版本不定期更新,如果你使用的机械臂软件版本与此不同,请联系官方技术人员及时更新。

硬件配置

        PLC:西门子

        机械臂:RM65-B

2. 通讯设置

        机械臂设置

            睿尔曼机械臂在出厂时设定网口的IP地址为192.168.1.18,端口号为8080。

        PLC设置

           创建新项目,根据已有plc模块,进行设备组态。这里采用CPU型号为1215C的PLC进行说明,设置PLC的网口IP地址为192.168.1.10。

        本地电脑设置

             电脑本地IP设置与机械臂和PLC在同一网段即可,此处以IP地址为192.168.1.66为例。 

3. PLC编程 

①建立socket通讯

       这里我们采用开放式用户通讯中的“TSEND_C”与“TRCV_C”指令进行数据发送与接收,设置通讯方式为“TCP”通讯,PLC作为客户端进行主动连接,连接地址为机械臂IP与端口号,设置参数如下图所示:

②添加数据块 

          这里我们创建4个DB块,分别为“数据发送”、“数据接收”、“数据块_1”、“数据块_2”。

“数据发送”数据块作为“TSEND_C”指令的DATA数据;

       “数据接收”数据块用来存储“TRCV_C”指令的DATA数据;“Static_2”先将机械臂返回的字符串转化为字符组进行存储,再通过程序转化为字符存储至“Static_1”,然后与“数据块_2”中的数据进行比较。

"数据块_1"存储控制机械臂需要下发的工作协议指令(这里包括运动指令与手爪控制指令的json协议字符串)。

 “Static_1”为物料抓取点上方一点的坐标;“Static_2”为物料抓取点的坐标;“Static_3”为夹爪闭合指令;“Static_4”为物料抓取点上方一点,通过直线运动到该点; “Static_5”为物料放置点上方一点的坐标;“Static_6”为物料放置点的坐标;“Static_7”为夹爪松开指令;“Static_8”为物料放置点上方一点,通过直线运动到该点;“Static_9”为初始位置。机械臂点位坐标值可通过机械臂示教器软件进行读取。

 "数据块_2"存储机械臂返回值,用来与实际接收返回值进行比较,判断动作的完成状态。

③PLC程序编写

        通过寄存器上升沿触发PLC发送数据,接收数据此处为实时接收。将接收的字节组转换为字符串,再将接收的字符串与正常返回值进行比较,代表机械臂指令执行完成标志。用时通过计数器触发字符串移动指令,将下一条将要下发的指令赋值到“数据发送”数据块,完成指令的依次下发。PLC程序编写参考如下:

 

 

 

 

 

4. 程序运行

           对PLC程序及数据块进行编译,无误后下载至PLC中。

       下载完成后,转至在线,并在线监控程序。

将M100.1地址的值修改为“1”,触发程序启动运行。 

至此,PLC与机械臂通信并实训物体抓取已完成;