触摸屏是运动控制器吗
扫描二维码
随时随地手机看文章
控制器的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。
控制器中MODBUS字寄存器都占用同一片系统变量空间,其中一个LONG占用两个REG地址,一个IEEE也占用两个REG地址,使用时要注意错开字寄存器编号地址。
⊙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存储空间安排如下:
二、触摸屏与控制器的连接方式
可选串口连接或网口连接。
1.网口连接
控制器出厂默认IP地址为192.168.0.11,IP地址可在软件“控制器状态”窗口查看。使用IP_ADDRESS指令修改IP地址或在修改IP地址窗口修改,修改一次永久生效。控制器至少包含2个网口通道,网口的端口号为502,支持触摸屏的MODBUS-TCP协议连接。
网口通道数查看
不同型号控制器支持的串口通道数和网口通道数不同。使用在线命令栏发送“?*port”查看通道数,通道数确定了控制器能同时连接的设备个数。
在线命令栏发送“?*port_status”查看通讯端口是否已被使用。
当前网口通道协议查看
使用PROTOCOL 指令返回当前通道的通讯协议,根据返回值判断。
2.串口连接
串口通常可选RS232串口或RS485串口,串口默认参数为:波特率38400,数据位8,停止位1,校验位无,采用SETCOM指令配置串口参数。控制器重新上电后,SETCOM参数会还原成默认值,所以请在程序开头写SETCOM设置。控制器的所有串口的MODBUS协议站号ADDRESS为 1- 127,缺省=1。
串口MODBUS主从端选择
SETCOM指令除了可以配置串口的通讯基本参数外,还可以选择配置通讯协议,设置控制器为主端设备还是从端设备,还可以开启自定义通讯模式(即mode=0无协议模式)。
语法:SETCOM
(baudrate,databits,stopbits,parity,port[,mode] [,variable] [,timeout])
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为两片独立区间。
variable参数选择示例:
Port0:setcom(9600,8,1,0,0,4,2,1000)
三、控制器连接触摸屏使用
使用的一般流程:
控制器端的程序使用ZDevelop软件编写完成下载到控制器内。
触摸屏端的程序使用对应的编程软件编写完成后下载到触摸屏保存。
程序下载完成之后,选择串口或网口连接触摸屏与控制器脱机运行。
四、控制器和威纶屏通讯实例
以控制器和威纶屏通讯为例展开触摸屏的使用说明。
第一步:控制器端的程序使用ZDevelop软件编写完成下载到控制器内。
第二步:下载触摸屏程序。威纶触摸屏端的程序使用EasyBuilder编程软件编写,程序编程完成后,打开“系统参数设置”窗口,如下图。
1)添加要与触摸屏连接的设备
设备列表里会显示本机触摸屏和本机设备,若有本机设备双击该行,若没有本机设备,点击“新建设备/服务器…”,弹出设备属性窗口。
2)设置设备属性
选择设备类型,先选MODBUS IDA通讯协议,再根据触摸屏与控制器的实际连接方式选择。
串口通讯和网口通讯所选的设备类型不同,详见后续说明。
若采用串口连接:
⊙设备类型:选择模式MODBUS RTU(Zero-based Addressing)
⊙接口类型:选择串口类型(RS485或RS232)
⊙COM:通讯端口设置匹配的波特率等参数
此时参数必须与连接到控制器的端口参数一致,设置完成确认关闭系统参数设置窗口。
若采用网口连接:
⊙设备类型:选择模式MODBUS TCP/IP(Zero-based Addressing)。
⊙接口类型自动改为以太网
⊙IP:填入当前要连接的控制器的IP地址
设置完成确认关闭系统参数设置窗口。
3)系统参数设置完成后,编译写好的组态程序,将触摸屏连接到PC,待程序下载到触摸屏后断开连接。
第三步:连接触摸屏与控制器,此时触摸屏与控制器就可以相互通信了。
若没有控制器或触摸屏,可采用仿真器仿真,ZDevelop程序下载到仿真器内,EasyBuilder软件的系统参数设置时选择设备类型为MODBUS IDA—MODBUS TCP/IP(Zero-based Addressing),IP地址填入仿真器IP:127.0.0.1,选择“在线模拟”即可连接控制器程序与组态程序进行仿真。
五、通讯例程
1.触摸屏端示例程序
威纶组态程序如下:
2.控制器端示例程序(basic示例程序)
控制器程序分为五个模块:
1)初始化模块:轴参数设置,变量定义,按键复位。
2)按键扫描模块:按下启动,停止,回零,保存数据触发执行相应程序。
3)加工运动模块:启动按键按下调用执行运动指令。
4)回零模块:回零按键按下调用执行轴回零。
5)手动运动模块:手动触发轴正向或负向点动。
A、程序任务分配情况
自动运行任务0:
若为串口连接设置SETCOM参数中的mode与variable
清空运动缓冲,各轴的初始化
自定义变量的初始化与FLASH读取初始化变量
MODBUS_BIT/REG/IEEE相关变量的初始化
启动
任务2作为
手动任务运行
循环扫描程序:
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)