快速入门丨篇四:如何进行运动控制器与触摸屏通讯?

          此前,正运动技术给大家讲了,运动控制器的“固件升级”、“ZBasic程序开发”以及“ZPLC程序开发”,今天我们来学习一下运动控制器与触摸屏通讯。

 

             视频教程:www.zmotion.com.cn

 

          一、控制器与触摸屏的通讯简介

 

          1.控制器支持的触摸屏

  

          只要支持MODBUS通讯协议的触摸屏都可以与正运动控制器连接使用。控制器使用MODBUS协议与触摸屏通讯时,此时需要将数据放在MODBUS寄存器内进行传递。

  

          2.控制器与触摸屏modbus寄存器地址关系

  

          控制器的MODBUS地址与其他厂家的触摸屏地址映射关系有所不同。

 ⊙控制器的MODBUS地址从0开始,在与威纶触摸屏通讯时,地址都是从0开始,所以是一一对应。

          控制器MODBUS_BIT(0)对应威纶触摸屏 MODBUS_0X_0,布尔型。

 控在这里插入代码片制器MODBUS_REG(0)对应威纶触摸屏 MODBUS_4X_0,字寄存器。

          ⊙在与昆仑通态触摸屏通讯时,昆仑通态地址从1开始,控制器地址从0开始,所以触摸屏地址加1。

          控制器MODBUS_BIT(0) 对应昆仑通态触摸屏 MODBUS_0x_1,布尔型。

          控制器MODBUS_REG(0) 对应昆仑通态触摸屏 MODBUS_4x_1,字寄存器 。

          ⊙控制器端程序可使用ZDevelop软件支持的Basic语言或PLC梯形图编程。

          Basic语言中MODBUS_BIT(0)~ 对应PLC梯形图的M0~。

          Basic语言中MODBUS_REG(0)~ 对应PLC梯形图的D0~。

  

          3.控制器MODBUS寄存器

 

          MODBUS通讯的数据使用MODBUS寄存器存储,控制器的MODBUS寄存器符合MODBUS标准通讯协议,分为位寄存器和字寄存器两类。

          位寄存器:MODBUS_BIT,触摸屏一般称为MODBUS_0X,布尔型。

          字寄存器:包含MODBUS_REG(16位整形)、MODBUS_LONG(32位整形)、MODBUS_IEEE(32位浮点形)、MODBUS_STRING(8位字节型),触摸屏一般叫MODBUS_4X。

 

 1.png

 

          

控制器中MODBUS字寄存器都占用同一片系统变量空间,其中一个LONG占用两个REG地址,一个IEEE也占用两个REG地址,使用时要注意错开字寄存器编号地址。

 

 2.png

 

          ⊙MODBUS_LONG(0)占用MODBUS_REG(0)与MODBUS_REG(1)两个REG地址。

          ⊙MODBUS_LONG(1)占用MODBUS_REG(1)与MODBUS_REG(2)两个REG地址。

          ⊙MODBUS_IEEE(0)占用MODBUS_REG(0)与MODBUS_REG(1)两个REG地址。

          ⊙MODBUS_IEEE(1)占用MODBUS_REG(1)与MODBUS_REG(2)两个REG地址。

          所以要注意MODBUS_REG、MODBUS_LONG、MODBUS_IEEE地址在用户应用程序中不能重叠。

          控制器的MODBUS存储空间安排如下:

 

 3.png

 

          二、触摸屏与控制器的连接方式

  

          可选串口连接或网口连接。

          1.网口连接

          控制器出厂默认IP地址为192.168.0.11,IP地址可在软件“控制器状态”窗口查看。使用IP_ADDRESS指令修改IP地址或在修改IP地址窗口修改,修改一次永久生效。控制器至少包含2个网口通道,网口的端口号为502,支持触摸屏的MODBUS-TCP协议连接。

 

 4.png

 

          网口通道数查看

          不同型号控制器支持的串口通道数和网口通道数不同。使用在线命令栏发送“?*port”查看通道数,通道数确定了控制器能同时连接的设备个数。

 

 5.png

 

          在线命令栏发送“?*port_status”查看通讯端口是否已被使用。

 

 6.png

 

          当前网口通道协议查看

          使用PROTOCOL 指令返回当前通道的通讯协议,根据返回值判断。

 

 7.png

 

          2.串口连接

 

          串口通常可选RS232串口或RS485串口,串口默认参数为:波特率38400,数据位8,停止位1,校验位无,采用SETCOM指令配置串口参数。控制器重新上电后,SETCOM参数会还原成默认值,所以请在程序开头写SETCOM设置。控制器的所有串口的MODBUS协议站号ADDRESS为 1- 127,缺省=1。

 

 8.png

 9.png

 

          串口MODBUS主从端选择

          SETCOM指令除了可以配置串口的通讯基本参数外,还可以选择配置通讯协议,设置控制器为主端设备还是从端设备,还可以开启自定义通讯模式(即mode=0无协议模式)。

     语法:SETCOM

 (baudrate,databits,stopbits,parity,port[,mode] [,variable] [,timeout])

 

 10.png

 

          mode参数选择协议:与触摸屏通讯时,mode参数选择协议:4

          Port0:setcom(9600,8,1,0,0,4,2,1000)

          Port1:setcom(9600,8,1,0,1,4,2,1000)

          串口掉电保持配置

          SETCOM指令可选择寄存器,默认为MODBUS寄存器,可配置是否使用掉电保持寄存器存储数据。

          variable参数选择寄存器:控制器出厂默认选择2,此时系统MODBUS寄存器与VR为两片独立区间。

  

  11.png

  

          variable参数选择示例:

          Port0:setcom(9600,8,1,0,0,4,2,1000)

  三、控制器连接触摸屏使用

          使用的一般流程:

          控制器端的程序使用ZDevelop软件编写完成下载到控制器内。

          触摸屏端的程序使用对应的编程软件编写完成后下载到触摸屏保存。

          程序下载完成之后,选择串口或网口连接触摸屏与控制器脱机运行。

  四、控制器和威纶屏通讯实例

          以控制器和威纶屏通讯为例展开触摸屏的使用说明。

          第一步:控制器端的程序使用ZDevelop软件编写完成下载到控制器内。

          第二步:下载触摸屏程序。威纶触摸屏端的程序使用EasyBuilder编程软件编写,程序编程完成后,打开“系统参数设置”窗口,如下图。

  

  12.png

  

          1)添加要与触摸屏连接的设备

          设备列表里会显示本机触摸屏和本机设备,若有本机设备双击该行,若没有本机设备,点击“新建设备/服务器…”,弹出设备属性窗口。

          2)设置设备属性

          选择设备类型,先选MODBUS IDA通讯协议,再根据触摸屏与控制器的实际连接方式选择。

          串口通讯和网口通讯所选的设备类型不同,详见后续说明。

  

  13.png

  

      若采用串口连接:

      ⊙设备类型:选择模式MODBUS RTU(Zero-based Addressing)

      ⊙接口类型:选择串口类型(RS485或RS232)

      ⊙COM:通讯端口设置匹配的波特率等参数

      此时参数必须与连接到控制器的端口参数一致,设置完成确认关闭系统参数设置窗口。

  

  14.png

  

          若采用网口连接:

          ⊙设备类型:选择模式MODBUS TCP/IP(Zero-based Addressing)。

          ⊙接口类型自动改为以太网

          ⊙IP:填入当前要连接的控制器的IP地址

          设置完成确认关闭系统参数设置窗口。

 

 15.png

 

          3)系统参数设置完成后,编译写好的组态程序,将触摸屏连接到PC,待程序下载到触摸屏后断开连接。

          第三步:连接触摸屏与控制器,此时触摸屏与控制器就可以相互通信了。

          若没有控制器或触摸屏,可采用仿真器仿真,ZDevelop程序下载到仿真器内,EasyBuilder软件的系统参数设置时选择设备类型为MODBUS IDA—MODBUS TCP/IP(Zero-based Addressing),IP地址填入仿真器IP:127.0.0.1,选择“在线模拟”即可连接控制器程序与组态程序进行仿真。

  五、通讯例程

          1.触摸屏端示例程序

          威纶组态程序如下:

  

  16.png

  

          2.控制器端示例程序(basic示例程序)

          控制器程序分为五个模块:

          1)初始化模块:轴参数设置,变量定义,按键复位。

  

  17.png

  

          2)按键扫描模块:按下启动,停止,回零,保存数据触发执行相应程序。

  

  18.png

  19.png

  

          3)加工运动模块:启动按键按下调用执行运动指令。

  

  20.png

  

          4)回零模块:回零按键按下调用执行轴回零。

  

  21.png

  

          5)手动运动模块:手动触发轴正向或负向点动。

  

  22.png

  

          A、程序任务分配情况

          

自动运行任务0:

          若为串口连接设置SETCOM参数中的mode与variable

          清空运动缓冲,各轴的初始化

          自定义变量的初始化与FLASH读取初始化变量

          MODBUS_BIT/REG/IEEE相关变量的初始化

          启动

任务2作为

手动任务运行

          循环扫描程序:

  

  23.png

  

          B、程序资源分配

         

 自定义的MODBUS_BIT资源:

          MODBUS_BIT(0)         启动     按钮

          MODBUS_BIT(1)         停止     按钮

          MODBUS_BIT(4)         回零     按钮

          MODBUS_BIT(5)         保存数据     按钮

          MODBUS_BIT(10)         X轴负向运动

          MODBUS_BIT(11)         X轴正向运动

          MODBUS_BIT(20)         Y轴负向运动

          MODBUS_BIT(21)         Y轴正向运动

          MODBUS_BIT(1000)         X轴     回零标志

          MODBUS_BIT(1001)         Y轴     回零标志

  

          

自定义的MODBUS_REG/LONG/IEEE资源:

          MODBUS_REG(0)         run_state 显示运行状态

          MODBUS_IEEE(2)         radius 显示并设置加工半径

          MODBUS_IEEE(4)         length 显示并设置加工长度

          

任务资源:

          任务0:初始化变量与任务2,主循环

                                              不断扫描外部变量来运行

          任务1:由任务0启动,自动程序用于加工

                                              由任务0启动,回零程序用于归零

          任务2 :由任务0启动,用于手动扫描

  

          

用到的全局变量资源:

          run_state         运行状态

                                          0停止,1运行,2回零

                                          MODBUS_REG(0) 显示

          home_done         回零完成的标志位

                                          0 未回零,1 已回零

          radius             MODBUS_IEEE(2)     加工的半径

          length             MODBUS_IEEE(4)     加工的长度

  

          
FLASH资源:

          扇区0             radius,length

                                  读写数据

  

          
用到的轴资源:

          轴0:X轴

          轴1:Y轴

  

          
VR资源:

          无

  

          
中断资源:

          无

          C、示波器采样波形

          任务1启动,运行自动加工模块,示波器采集的波形如下图:

          曲线0(红色):轴0的目标位置DPOS(0)

          曲线1(紫色):轴1的目标位置DPOS(1)

  

  24.png

  25.png

          今天,正运动技术的运动控制器与触摸屏通讯就分享到这里。更多精彩内容,请关注我们的公众号。

          本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

猜你喜欢

转载自blog.csdn.net/AGONIiii/article/details/109637430