跳到主要内容

威纶通连接低代码控制系统

案例说明

本案例基于控制器与威纶通的以太网连接,利用Modbus-TCP协议实现与低代码控制系统之间的数据交换。

提醒
  1. 以GUS控制器与威纶通触摸屏为例,GUS控制器作为服务器(从站),威纶通触摸屏作为客户端(主站)。
  2. 威纶通与低代码控制系统需要在同一个局域网网段中。为方便讲解,将威纶通与控制器都设置相同网段的固定IP。

一、设置威纶通与GUS控制器固定IP

在设备与威纶通触摸屏建立通讯之前,需要给威纶通触摸屏以及GUS控制器设置固定IP,使设备与威纶通触摸屏处于同一个网关下的局域网下才可以进行数据交换。

  1. 设置威纶通触摸屏固定IP 首先,点击威纶通触摸屏下方的箭头,然后点击设置图标在弹出界面输入触摸屏原始密码:111111。确认进入IP设置界面。本文威纶通触摸屏IP地址以192.168.2.248为例。
注意

威纶通触摸屏的网关要跟GUS控制器的网关一致,才可以建立通讯。

  1. 设置控制器固定IP 打开EasyAutoSystem_CE/Triton/triton_wince_i386/OPTIONS配置文件,内容如下所示:
#triton client config file  
  
#服务器连接信息  
[server]  
#设备在Neptune中的<序列号>  
uuid=4E07-37B8-8111-DD06  
#Neptune用户的<团队令牌>  
token=A6A0-D7F3-926B-CA50  
#服务器地址  
address=192.168.2.65  
#服务器端口  
port=1884  
  
#本地网络配置  
[network]  
#managed_xxx=0: 由用户自行配置网络,不使用以下网卡配置;  
#managed_xxx=1: 用以下网卡配置来配置本地网络;默认使用此项;  
managed_nic0=1  
managed_nic1=0  
  
#网卡1  
#nic0_network_type可选项:dhcp (自动分配) / static(静态设置)  
nic0_network_type=static  
nic0_ip_address=192.168.2.249  
nic0_netmask=255.255.255.0 
nic0_gateway=192.168.2.1  
nic0_dns=192.168.88.31  
  
#网卡2  
#nic1_network_type可选项:dhcp (自动分配) / static(静态设置)  
nic1_network_type=static  
nic1_ip_address=192.168.0.2  
nic1_netmask=255.255.255.0  
nic1_gateway=  
nic1_dns=  
  
#自启动程序  
[start_up]  
#请填写程序的绝对路径,如:program0=\Hard Disk\CPAC\GRT.exe  
program0=  
program1=  
program2=  
  
[log_level]  
level=  
注意

控制器本地网络配置选择用网卡来配置本地网络,等于1时表示选中此配置,等于0时相反,如下所示:

  • managed_xxx=1时,表示用以下网卡配置来配置本地网络;
  • 当本地网络配置项里的managed_nice0=1managed_nice1=0,表示选中网卡1来配置控制器本地网络。
  • 当本地网络配置项里的managed_nice0=0managed_nice1=1时,表示选中网卡2来配置控制器本地网络。
#本地网络配置  
[network]  
#managed_xxx=0: 由用户自行配置网络,不使用以下网卡配置;  
#managed_xxx=1: 用以下网卡配置来配置本地网络;默认使用此项;  
managed_nic0=1  
managed_nic1=0  
  
#网卡1  
#nic0_network_type可选项:dhcp (自动分配) / static(静态设置)  
nic0_network_type=static  
nic0_ip_address=192.168.2.249  
nic0_netmask=255.255.255.0  
nic0_gateway=192.168.2.1  
nic0_dns=192.168.88.31  

#网卡2  
#nic1_network_type可选项:dhcp (自动分配) / static(静态设置)  
nic1_network_type=static  
nic1_ip_address=192.168.0.2  
nic1_netmask=255.255.255.0  
nic1_gateway=  
nic1_dns=  

在确认控制器IP与威纶通触摸屏IP在同一网关的局域网下之后,可以通过命令提示符工具(使用ping命令)测试两者之间网络是否连通。这里通过控制器ping威纶通进行测试,如下图1所示:

图1 使用ping命令测试通讯连接
图1 使用ping命令测试通讯连接

二、建立设备通讯连接

打开威纶通组态软件Utility Manager,选择触摸屏型号,本文以触摸屏型号MT8102iQ(1024×600)为例。在设备组态界面点击系统参数,触摸屏型号选择MT8102iQ(1024×600),点击新增设备/服务器…。如下图2所示:

图2 新增设备/服务器
图2 新增设备/服务器

在新增设置/服务器界面,配置GUS控制设备属性:

  • 设备类型选择MODBUS TCP/IP(Zero-based Addressing)
  • 接口类型选择以太网
  • IP地址:192.168.33.249(根据实际情况设置GUS控制器IP),端口号默认502。(IANA给Modbus协议赋予TCP端口号为502,这是目前在仪表与自动化行业中唯一分配到端口号)。
  • 设备预设站号设置为1即可。

设备属性如下图3所示:

图3 设备属性
图3 设备属性

三、关联Modbus寄存器与自动化系统变量

在Janus边缘计算系统上配置Modbus配置文件参数,关联Modbus寄存器和自动化系统变量。

进入Janus边缘系统系统,在流程管理中的流程列表里找到对应项目创建的项目工程详情页硬件配置配置硬件添加通讯选择Modbus从站通讯配置,勾选启用威纶通触摸屏通讯包关联Modbus寄存器和自动化系统变量如下图4所示:

图4 关联Modbus寄存器和自动化系统变量
图4 关联Modbus寄存器和自动化系统变量

该Modbus配置文件参数支持0X1X3X4X读写寄存器,即01H02H03H04H05H10H的指令。

  • 0x:可读可写的线圈设备类型(类似于PLC的DO输出点)。读该设备类型的位状态时,功能码为01H,写位状态时功能码为05H
  • 1x:只读的触点设备类型(类似于PLC的DI输入点)。读位状态时的功能码为02H
  • 3x:只读的模拟量设备类型(类似于PLC的AI模拟量)。读其数据时的功能码为04H
  • 4x:可读可写的数据寄存器设备类型(类似于PLC的AO数据寄存器)。当读其数据时功能码是03H,当写入数据的时候功能码是10H

通讯配置具体说明如下:

  • 寄存器ID:Modbus寄存器起始ID
  • 寄存器个数:只有bit类型,表示变量个数
  • 低代码变量:即寄存器映射到低代码控制系统的变量起始ID
  • 数据类型:可选布尔/短整,长整型,浮点,字符(注意:一个自动化系统变量包含8个字符,一个Modbus寄存器变量包含4个字符)
  • 共享变量:停用表示为普通变量,启用表示为共享变量;
  • 心跳时间:可以分配变量用来记录数据是否通讯成功;
  • 备注:该配置的说明,方便查看;
长整型、浮点型变量

长整型或浮点型变量占用2个Modbus寄存器ID,例如:

  • 各轴转态:
    • 第一个自动化系统变量ID为10001,对应的Modbus寄存器ID为10001
    • 第二个自动化系统变量ID为10002,对应的Modbus寄存器ID为10003
  • 因为自动化系统变量ID10001为长整数据类型,占用两个Modbus寄存器ID,即第二个自动化系统变量ID10002,对应的Modbus寄存器ID要从10003开始。
Modbus配置文件
  1. 在生成配置文件前,需在通讯文件设置界面手动勾选Modbus.txt选项,否则将导致系统无法自动生成Modbus.txt配置文件
  2. Modbus从站通讯配置对应低代码控制系统的配置文件是Modbus.txt,利用Janus边缘计算系统配置Modbus从站通讯配置生成配置下发到控制器指定的路径:
    • 如果是GUS系列的控制系统,则配置文件Modbus.txt在GUS系列嵌入式多轴运动控制器系统文件夹My Device\Hard Disk\EasyAutoSystem_CE\System\ParaFiles目录下可以找到
    • 如果是GNC系列的控制系统,则配置文件Modbus.txt在GNC系列嵌入式运动控制器系统的系统盘D:\Ftp\EasyAutoSystem\System\ParaFiles目录下可以找到。

四、Modbus配置

在Janus边缘计算系统上配置Modbus从站Modbus通讯包数量站号以及TCP端口号。首先登录Janus边缘系统系统,在项目工程详情页硬件配置配置硬件添加通讯→选择Modbus主站从站配置,配置Modbus从站通讯包数量、站号以及TCP端口号如下图5所示:

图5 配置Modbus Ctrl_Link配置文件
图5 配置Modbus Ctrl_Link配置文件

根据从站设备以及Modbus寄存器与自动化系统变量配置文件,主要配置Modbus数据包计数包数量、站号以及TCP端口号。

Modbus寄存器与自动化系统变量配置文件里的参数一行代表一个数据包,总共有17行,即Modbus所需要的数据包数量为17。站号即设备预设站号:1;TCP端口号,ModbusTCP默认端口号为502。(IANA给Modbus协议赋予TCP端口号为502,这是目前在仪表与自动化行业中唯一分配到端口号)。

配置提示
  1. 在配置Modbus从站配置的过程,可以选择配置栏位User_LogInfo(指定变量内的值为1:记录Modbus通讯内容至ParaFiles文件夹Log_Modbus.txt;变量内的值为2,则只记录写入指令;变量内的值为3,则只记录读取指令)主要是方便调试的时候使用。
  2. 利用Janus边缘计算系统配置Modbus从站通讯配置生成配置下发到控制器指定的路径前,不需要在通讯文件选择里勾选Ctrl_Link.txt配置文件再生成配置文件,生成配置文件时会默认生成Ctrl_Link.txt配置文件。
  3. Modbus主站从站配置(配置Modbus从站配置)对应低代码控制系统的配置文件是Ctrl_Link.txt,利用Janus边缘计算系统配置Modbus主站从站配置生成配置下发到控制器指定的路径:
    • 如果是GUS系列的控制系统,则配置文件Ctrl_Link.txt在GUS系列嵌入式多轴运动控制器系统文件夹My Device/Hard Disk/EasyAutoSystem_CE\System\ParaFiles目录下可以找到,
    • 如果是GNC系列的控制系统,则配置文件Ctrl_Link.txt在GNC系列嵌入式运动控制器系统的系统盘D:\Ftp\EasyAutoSystem\System\ParaFiles目录下可以找到。

五、威纶通组态屏下载与上传

  1. 下载:把组态工程文件下载到威纶通触摸屏。打开新建好的威纶通组态工程,点击下载(PC->HMI)下载完成后如下图6所示:
图6 界面下载成功
图6 界面下载成功
注意

在下载组态工程界面时,电脑IP需要与控制器IP、威纶通IP在同一网关局域网下才可以成功下载组态工程界面。

  1. 上传:威纶通界面下载到电脑本地组态工程文件。首先,打开打开威纶通组态软件Utility Manager,选择触摸屏型号,本文以触摸屏型号MT8102iQ(1024×600)为例。点击文件,上传(HMI->PC),如下图7所示:
图7 上传(HMI->PC)
图7 上传(HMI->PC)
  1. 在弹出的上传(PC->HMI)界面设置IP为威纶通IP192.168.33.248,选择HMI型号MT8102iQ以及工程文件位置,如下图8所示:
图8 选择HMI型号以及工程文件位置
图8 选择HMI型号以及工程文件位置
  1. 在威纶通组态软件界面点击文件,点击反编译,打开上传下来的工程文件所在的位置把上传下来的工程文件反编译下来,反编译成功如下图9所示:
图9 反编译成功
图9 反编译成功

六、威纶通连接低代码控制系统测试效果图

图10 自动化系统变量ID对应数值
图10 自动化系统变量ID对应数值
图11 威纶通Modbus寄存器对应数值
图11 威纶通Modbus寄存器对应数值

从下表可以看出,利用威纶通触摸屏客户端(主站)读取GUS控制器服务器(从站)设备数据时,Modbus寄存器数值与自动化变量ID数值是一一对应,表明通讯成功。

轴位置自动化变量IDModbus寄存器自动化变量ID数值Modbus寄存器数值
待机位4064406712.2012.20
顶治具位4065406944.2244.22
取垫片位4067407349.0949.09
取卡环位4068407550.8450.84
放垫片位40694077162.92162.92
放卡环位40704079232.40232.40