现在市面上很多的人机界面都提供了方便的一台控制器连接两台或者多台HMI的功能,也就是工程上常说的一机多屏系统,如台湾威纶科技股份有限公司WeinView系列和台湾HITEC(海泰克)等都可以实现一机多屏系统。台达的DOP系列触摸屏人机功能很强,但在Screen Editor编辑软件中并没有提供一机多屏集成应用功能,本文提出DOP触摸屏一机多屏功能集成设计技术。
图1 DOP触摸屏一机多屏系统框图
原理设计
台达DOP系列触摸屏的特点之一是提供了2个通信口,而且2个通信口可以独立使用。可以用一个通信口连接控制器,另一个通信口连接第二台或者第三台触摸屏,以下将结合工程案例给出DOP系列触摸屏一机多屏系统设计。所有的从机与PLC的数据交换都是通过主机中的宏完成周转的。每台人机可以运行不一样的程序。举一反三,这种形式推广的一个变型就是可以在多台人机和多台控制器之间轻松地完成数据的交换。
1.一机双屏系统设计
参见图1,用一个DOP触摸屏作为Master HMI,其余若干个人机作为Slave HMI,分别为2#、3#...... Master HMI的COM1与台达EH 系列PLC通过RS232连接,Master HMI的COM2与各个Slave HMI通过RS485连接。这样,Master HMI作为两条线路上的主站,负责交换两条线路上的数据。
本例采用两台HMI同一个PLC连接,两台DOP触摸屏直接通过MODBUS ASCII来连接。
图2 双屏数据同步显示
2.双屏数据同步显示
如图2所示,两台HMI同时显示PLC的数据变化。DOP有个很大的特点就是支持宏指令功能,所以这些功能都要依靠宏来实现。我们先设功能1中PLC用到的寄存器地址为D200, D201。2#Slave HMI与之对应的地址设为$109, $110,根据DOP内部与MODBUS的对应关系表可以知道对应MODBUS的地址为W40110, W40111。然后在Master HMI中用BMOV指令将D区传送给$区就行了。
3.双屏数据同步修改
如图3所示,当其中任意一台HMI修改PLC寄存器的数值时,同时能在另一台HMI上一起变化。要实现主从人机换画面同步,就要用“系统控制区”来帮忙了。设主从人机共用从机的MODBUS地址W40100来切换画面。
图3双屏数据同步修改
4.双屏画面同步切换
如图4所示,当一台HMI切换画面时,另一台HMI也会自动切换。其中绿色表示在2#Slave HMI中执行的;桔色表示在1#Master HMI中执行的。
DOP内部与MODBUS的对应关系表
本功能实现关键是主从机都可以改变PLC中的数据。设PLC中的寄存器地址为D100, D101。2#Slave HMI与之相对应的地址是W40010, W40011。我们的思路是这样:当1#Master HMI完成对D100, D101的数值输入时,触发一个标志位1#$101.0(1#表示1#Master,2#表示2#Slave HMI)。在1#backgroud宏中检查$101如果为1,就Call子宏2,在子宏2中用BMOV指令把D100, D101分别传送给2#W40010和 2#W40011,以达到数据同时改变。同时启动D100, D101的执行后宏,先做200ms延时,之后复位$101.0。
图4 双屏画面同步切换
同样的做法,当2#完成对2#W40010, 2#W40011数值输入后触发标志位2#B00001。因为在1#backgroud宏的IF语句中不能直接使用BasePort或者Link2的地址,所以要先把2#B00001GET到$100.0,之后在1#backgroud宏中检查$100如果为1,就Call子宏1,在子宏1中用BMOV指令把2#W40010, 2#W40011分别传送给D100和D101,以达到数据同时改变。同时启动2#W40010, 2#W40011的执行后宏,先做200ms延时,之后复位2#B00001。
评论
加载更多