资源描述
264
第六章 IO设备管理
第六章 I/O设备管理(2)
6。1.3.4 如何定义OPC服务器设备
请见第二十章 OPC设备。
6。1.3.5 如何定义带网络模块的设备
有些设备如PLC的通讯模块为网络模块,支持TCP/IP协议,通过该模块与上位机进行数据交换。当使用ET-LAN网络模块单元与上位机相连时,PLC地址在组态王中的设置方法是在设备地址中输入IP地址号:PLC站号。例如,定义OMRON PLC的CS1以太网通讯设备。
图6.28 选择以太网设备
1、 在组态王工程浏览器中双击“设备/新建…”图标,弹出设备配置向导,依次选择节点“PLC/欧姆龙/CS1/以太网”,如图6。28所示.
2、 单击“下一步”,弹出设备配置向导-—“设备逻辑名”对话框,如图6.29所示。在编辑框中输入设备在组态王中的逻辑名称,如“OMRON_PLC”。
图6。29 设备逻辑名称
3、 单击“上一步”修改设备的选择,单击“下一步"弹出设备配置向导--“设备地址设置”,如图6.30所示。例如设备IP地址是223.103.10.90,PLC站号是1,那么在地址编辑栏中输入223.103.10。90:1.IP地址由工程人员根据实际要求设置,PLC的站号范围按照不同的设备请参见组态王设备帮助.ET-LAN单元IP地址号与PLC站号的设置在ET—LAN单元及对应型号的PLC使用说明书中有详细解释。
图6.30 设备地址设置
4、 单击“上一步”修改配置,单击“下一步"弹出设备配置向导—-“通信参数",如图6.31所示,修改设备通讯出现故障时的尝试恢复策略。各选项的具体含义请参见6.1.3.3。1节的描述。
图6。31 通信参数设置
5、 单击“上一步”修改配置,单击“下一步”弹出设备配置向导-—“信息总结”,如图6。32所示。
图6.32 设备配置信息总结
6、单击“上一步”修改配置,单击“完成"完成设备配置.
6.1。3。6 如何配置组态王作为网络设备
分布在控制系统中的组态王之间可以通过网络进行通讯,访问实时数据。远程访问组态王的实时数据有两种方式:其一是在客户端上定义服务器站点为一个网络站点设备,然后在客户端上定义变量与该网络站点上的变量连接,访问实时数据;第二种是使用组态王的网络功能直接引用远程站点上的变量,而无需在客户端上定义变量。第二种方法请参见第二十三章 网络功能.这两种方法的特点为:
1. 客户端均可以访问到服务器上的实时数据。
2. 第一种方法需要在客户端上定义变量,如果需要访问的数据较多时,工作量较大,客户端系统的点数也会增加,但可以在本机上直接进行历史数据记录、产生报警等。
3. 第二种方法无需在客户端上定义变量,直接引用服务器上的组态王变量,系统的点数也不会额外增加。但历史数据的访问等只能从历史数据服务器上获得.
这里主要讲述第一种方式的配置方法。
6.1。3。6.1 定义网络站点设备
在工程浏览器的目录显示区,选择大纲项“设备/网络站点”,在右侧的内容显示区显示“新建…”。如图6.33所示:
图6。33 建立网络站点
双击“新建…”,弹出网络节点对话框,如图6。34所示.
图6。34 建立网络站点
在“机器名”文本框中输入远程站点的计算机名称或IP地址,如“数据采集站”。如果远程站点有备份机,选择“本节点有备份机”选项,并在“备份机机器名"文本框中输入备份机的名称。这样,当远程站点出现故障切换到备份机时,本地站点也可以自动切换到备份机与备份机进行通讯,保证数据的完整性。输入完成后,单击“确定"按钮.这样一个网络站点设备就建立完成了。在工程浏览器“设备/网络站点"下会出现一个名为“数据采集站"的网络站点设备。
6。1。3.6.2 网络站点设备的使用:
1、定义网络方式
建立完网络站点设备后,使用该设备之前,应对客户端和服务器端的网络功能进行一些配置.将两端均定义为“连网"模式.
选择工程浏览器大纲项“系统配置/网络配置",双击该项,弹出网络配置对话框,如图6.35所示。
图6.35 配置网络
选择“连网”选项,在“本机节点名"中输入本机的机器名或IP地址,如客户端为“客户端”.在“节点类型”属性页中,选择所有选项。对话框中的其它各项的定义和修改请参见第二十一章 网络功能.
2、定义变量:
定义变量的具体方法请参见第五章 变量的定义和管理。在变量的“连接设备"列表中选择网络站点设备,在“远程变量”编辑框中输入对应的远程变量的变量名。如图所示.如远程变量为“原料罐液位”。如图6.36。
图6。36 定义变量
这样可以将远程站点上的组态王实时数据采集到客户端上来。实现网络上组态王之间的互相通讯.
6.2 组态王提供的模拟设备—-仿真PLC
程序在实际运行中是通过I/O设备和下位机交换数据的,当程序在调试时,可以使用仿真I/O设备模拟下位机向画面程序提供数据,为画面程序的调试提供方便。
组态王提供一个仿真PLC设备,用来模拟实际设备向程序提供数据,供用户调试。
6.2。1 仿真PLC的定义
在使用仿真PLC设备前,首先要定义它,实际PLC设备都是通过计算机的串口向组态王提供数据,所以仿真PLC设备也是模拟安装到串口COM上,定义过程和步骤为:
1. 在组态王的工程浏览器中,从左边的工程目录显示区中选择大纲项设备下的成员名COM1或COM2,然后在右边的目录内容显示区中用左键双击“新建"图标,则弹出“设备配置向导”对话框如图6.37:
I/O设备列表显示区
图6.37 设备配置向导
在I/O设备列表显示区中,选中PLC设备,单击符号“+"将该节点展开,再选中“亚控”,单击符号“+"将该节点展开,选中“仿真PLC"设备,再单击符号“+"将该节点展开,选中“串行”.
2. 单击“下一步”按钮,则弹出“设备配置向导——逻辑名称"对话框如图6。38:
图6.38 填入逻辑名称
在编辑框输入一个仿真PLC设备的逻辑名称,例如设定为“simu”。
3. 继续单击“下一步"按钮,则弹出“设备配置向导——选择串口号”对话框如图6.39:
图6.39 选择串口
在下拉式列表框中列出了32个串口设备(COM1—COM32)供用户选择,例如从下拉式列表框中选中COM2串口。
注意:这里定义的串口是虚拟的,实际仿真PLC设备并不使用计算机的COM口,而且COM口也不需要配置。
4. 继续单击“下一步”按钮,则弹出“设备配置向导——设备地址设置指南”对话框如图6.40:
图6。40 设备地址设置
在编辑框中输入仿真PLC设备的地址。
5. 继续单击“下一步”按钮,则弹出“设备配置向导—-通讯参数"对话框如图6.41:
图6。41 通讯参数设置
6. 继续单击“下一步”按钮,则弹出“设备配置向导——信息总结"对话框如图6。42:
图6.42 设备配置信息总结
单击“完成"按钮,则设备安装完毕,单击“上一步”,可返回上一次操作进行修改。
仿真PLC设备安装完毕后,可在工程浏览器进行查看,选择大纲项设备下的成员名COM2,则在右边的目录内容显示区可以已安装的设备,如图6。43所示:
图6.43 定义的仿真PLC设备
6.2.2 仿真PLC的寄存器
仿真PLC提供五种类型的内部寄存器变量INCREA、DECREA、RADOM、STATIC、CommErr,INCREA、DECREA、RADOM、STATIC寄存器变量的编号从1—1000,变量的数据类型均为整型(即INT),对这五类寄存器变量分别介绍如下:
6。2。2。1 自动加1寄存器INCREA
该寄存器变量的最大变化范围是0—1000,寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递增变化范围,例如,INCREA100表示该寄存器变量从0开始自动加1,其变化范围是0到100,关于寄存器变量的编号及变化范围如下表所示:
寄存器变量
变化范围
INCREA1
0-1
INCREA2
0-2
INCREA3
0—3
┆
┆
INCREA1000
0-1000
6.2.2。2 自动减1寄存器DECREA
该寄存器变量的最大变化范围是0—1000,寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递减变化范围,例如,DECREA100表示该寄存器变量从100开始自动减1,其变化范围是0到100,关于寄存器变量的编号及变化范围如下表所示:
寄存器变量
变化范围
DECREA1
0—1
DECREA2
0-2
DECREA3
0—3
┆
┆
DECREA1000
0—1000
6.2.2.3 静态寄存器STATIC
该寄存器变量是一个静态变量,可保存用户下发的数据,当用户写入数据后就保存下来,并可供用户读出,直到用户再一次写入新的数据,此寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量能存储的最大数据范围,例如,STATIC100表示该寄存器变量能接收0—100中的任意一个整数,关于寄存器变量的编号及接收数据范围如下表所示:
寄存器变量
接收数据范围
STATIC1
0-1
STATIC2
0-2
STATIC3
0-3
┆
┆
STATIC1000
0—1000
6。2。2。4 随机寄存器RADOM
该寄存器变量的值是一个随机值,可供用户读出,此变量是一个只读型,用户写入的数据无效,此寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量产生数据的最大范围,例如,RADOM100表示随机值的范围是0-100,关于寄存器变量的编号及随机值的范围如下表所示:
寄存器变量
随机值的范围
RADOM1
0-1
RADOM2
0—2
RADOM3
0—3
┆
┆
RADOM1000
0—1000
6。2.2。5 CommErr寄存器
该寄存器变量为可读写的离散变量,用来表示组态王与设备之间的通讯状态.CommErr=0表示通讯正常;CommErr=1表示通讯故障。用户通过控制CommErr寄存器状态来控制运行系统与仿真PLC通讯,将CommErr寄存器置为打开状态时中断通讯,置为关闭状态后恢复运行系统与仿真PLC之间的通讯.
6。2。3 仿真PLC使用举例
以对常量寄存器STATIC100读写操作为例来说明如何使用仿真PLC设备
6。2。3。1 仿真PLC的定义
仿真PLC的定义过程详见6.2。1节,假定定义后的设备信息如图6。44:
图6。44 设备信息
6。2.3。2 定义I/O变量
定义一个I/O型变量old_static,用于读写常量寄存器STATIC100中的数据,示意图如下所示:
old_static
读数据 写数据
STATIC 100
定义变量old_static的过程如下:
■ 在工程浏览器中,从左边的工程目录显示区中选择大纲项数据库下的成员数据词典,然后在右边的目录内容显示区中用左键双击“新建”图标,弹出“变量属性”对话框,如图6。45。
图6.45 定义变量
在此对话框中,变量名定义为old_static,变量类型为I/O实数,连接设备选择simu,寄存器定为STATIC100,寄存器的数据类型定为 INT,读写属性为读写(根据寄存器类型定义),其它的定义见对话框,单击“确定”按钮,则old_static变量定义结束。
A 注意:
对于不同的外围设备,有不同的寄存器类型,每种寄存器类型又可分为只读,只写,读写三种属性,具体见附录。
6.2.3。3 制作画面
在工程浏览器中,单击菜单命令“工程\切换到Make”,进入到组态王开发系统,制作的画面如图6.46所示:
动画连接
动画连接
对读数据和写数据的两个输出文本串“###”分别进行动画连接,
图6。46 定义动画连接
其中写数据的输出文本串“###”要进行 “模拟值输入"连接,连接的表达式是变量old_static,如下所示:
读数据的输出文本串“###"要进行“模拟值输出”连接,连接的表达式是变量old_static,方法同上。
6.2。3.4 运行画面程序
运行组态王运行程序,打开画面,运行画面如下:
对常量寄存器STATIC100写入数据80,则可看到读出的数据值也是80。
6。3 组态王提供的通讯的其它特殊功能
6。3.1 开发环境下的设备通讯测试
为保证用户对硬件的方便使用,在完成设备配置与连接后,用户在组态王开发环境中即可以对硬件进行测试。对于测试的寄存器可以直接将其加入到变量列表中。当用户选择某设备后,单击鼠标右键弹出浮动式菜单,除DDE外的设备均有菜单项“测试 设备名"。如定义亚控仿真PLC设备,在设备名称上单击右键,弹出快捷菜单,如图6.47所示.
图6.47 硬件设备测试
使用设备测试时,点击 “测试…”对于不同类型的硬件设备将弹出不同的对话框,如:对于串口通讯设备(如串口设备—亚控仿真PLC)将弹出如图6.48所示的对话框:
图6。48 串口设备测试-通讯参数属性页
对话框共分为两个两个属性页:通讯参数、设备测试。“通讯参数"属性页中主要定义设备连接的串口的参数、设备的定义等。这些参数的选择请参照本章相关章节或组态王设备帮助.
图6。49 串口设备测试—设备测试属性页
设备测试页如图6.49所示。选择要进行通讯测试的设备的寄存器。
l 寄存器:从积存器列表中选择寄存器名称,并填写寄存器的序号(参见组态王设备帮助).如本例中的“INCREA”寄存器的“INCREA100”。然后从“数据类型”列表框中选择寄存器的数据类型。
l 添加:单击该按钮,将定义的寄存器添加到“采集列表"中,等待采集。
l 删除:如果不再需要测试某个采集列表中的寄存器,在采集列表中选择该寄存器,单击该按钮,将选择的寄存器从采集列表中删除。
l 读取/停止:当没有进行通讯测试的时候,“读取”按钮可见,单击该按钮,对采集列表中定义的寄存器进行数据采集。同时,“停止"按钮变为可见。当需要停止通讯测试时,单击“停止”按钮,停止数据采集,同时“读取"按钮变为可见。
l 向寄存器赋值:如果定义的寄存器是可读写的,则测试过程中,在“采集列表”中双击该寄存器的名称,弹出“数据输入”对话框,如图6.50所示。在“输入数据”编辑框中输入数据,单击确定按钮,数据便被写入该寄存器。
图6.50 数据输入对话框
l 加入变量:将当前在采集列表中选择的寄存器定义一个变量添加到组态王的数据词典中.单击该按钮,弹出变量名称对话框,如图6.51,:
图6。51 加入变量—输入变量名称
在编辑框中输入该寄存器所对应的变量名称,单击“确定",该变量便加入到了组态王的变量列表中,连接设备和寄存器为当前的设备和寄存器。
l 全部加入:将当前采集列表中的所有寄存器按照给定的第一个变量名称全部增加到组态王的变量列表中,各个变量的变量名称为定义的第一个变量名称后增加序号。如定义的第一个变量名称为“变量”,则以后的变量依次为“变量1”、“变量2”…
l 采集列表:采集列表主要为显示定义的通讯测试的寄存器,以及进行通讯时显示采集的数据、数据的时间戳、质量戳等。
开发环境下的设备通讯测试,使用户很方便的就可以了解设备的通讯能力,而不必先定义很多的变量和做一大堆的动画连接,省去了很多工作,而且也方便了变量的定义。
A 注意:
可以进行设备测试的有串口类设备、板卡类设备和OPC类设备。其它如DDE、一些特殊通讯卡等都暂不支持该功能。如有疑问,请与亚控技术支持联系。
6。3.2 如何在运行系统中判断和控制设备通讯状态
组态王的驱动程序(除DDE外)为每一个设备都定义了CommErr寄存器,该寄存器表征设备通讯的状态,是故障状态还是正常。另外用户还可以通过修改该寄存器的值控制设备通讯的通断。
在使用该功能之前,应该先为该寄存器定义一个IO离散型变量,变量为读写型.当该变量的值为0或被置为0时,表示通讯正常或恢复通讯。当变量的值为1或被置为1时,表示通讯出现故障或暂停通讯。
另外,当某个设备通讯出现故障时,画面上与故障设备相关联的IO变量的数值输出显示都变为“???”号,表示出现了通讯故障。当通讯恢复正常后,该符号消失,恢复为正常数据显示.
6。3。3 如何使用MODEM对设备进行远程拨号采集数据
组态王支持对标准232串口通讯的设备用MODEM拨号进行访问的方式.
6.3。3。1拨号设置
选择组态王工程浏览器的大纲项“设备”,选择MODEM所连接的串口标识,如“COM2",双击“COM2”,弹出串口设置对话框,如图6.52所示。
图6。52 串口设置
Ø 通讯参数:设置进行串口通讯时,串口的通讯波特率、检验方式、数据位、停止位、设备与计算机的通讯方式等.该项设置用于任何一个串口通讯的设备。
Ø Modem:选择该项,则该串口为拨号访问设备方式。
Ø 主Modem AT控制字:设置与PC连接的Modem的控制字.系统启动时,先将该控制字写入主Modem。
Ø 从Modem AT控制字:设置与设备连接的Modem的控制字。
A 注意:
建议用户使用专门的软件(如Windows的超级终端)按照Modem使用说明在系统运行前各个Modem进行控制字设置。所以用户可以不设置这两项。
设置完成后,单击“确定”按钮返回。则在组态王设备列表中出现一个Modem设备,如图6。53所示。
图6.53 定义Modem设备
6。3。3.2 设备拨号使用
6。3.3。2。1 建立Modem变量
对于Modem设备有四个寄存器:
1. IPC:控制拨号通断寄存器。
u 数据类型:INT型,可读写
u 数值标识:1—开始拨号; 99-挂断
2. IPS:拨通状态寄存器。
u 数据类型:INT型,只读
u 数值标识:0-未拨通;1—拨通
3. IPN:用户所要拨的电话号码。
u 数据类型:字符串型,可读写
4. CommErr:表示设备通讯状态,并可控制设备通讯状态。
u 数据类型:Bit,离散型,可读写
u 数值标识:0—通讯正常,或允许通讯;1—通讯故障,或暂停设备通讯
在组态王数据词典中新建变量(定义变量方法请参见第五章 变量定义和管理),如:IPC1、IPS1、IPN1、Cerr1分别对应以上的四个寄存器。设置变量Cerr1的初始值为“关"。
6。3.3.2。2 Modem拨号的使用方法
A 注意:
因为系统启动时,会自动启动各个连接的设备,数据采集设备“亚控PLC”没有直接连接在PC上,所以一般会出现设备连接错误,所以在定义数据采集设备“亚控PLC”的“CommErr”寄存器变量时,应设置其初始值为“开”,即暂停设备。
在组态王中定义数据采集设备,如“亚控PLC”,其连接的串口为COM2口,定义相应的I/O数据采集的变量,然后定义设备“亚控PLC”的“CommErr”寄存器变量,如“PLCCerr”。设置其初始值为“开”.
系统启动后,用户输入电话号码(变量IPN1),然后进行拨号,当拨号拨通时,即IPS1的值为1时,设置Modem的CommErr寄存器(变量Cerr1)的值为1,即暂停Modem设备。然后设置数据采集设备的CommErr寄存器(变量PLCCerr)的值为0,即恢复该设备,进行数据采集。当数据采集完成后,可以先暂停数据采集设备,然后恢复Modem设备的通讯,然后挂断。
对设备进行Modem拨号数据采集在很大程度上方便了用户进行远程调试、监控和数据采集。但用户须慎用:Modem拨号只适用于简单的标准的232串口通讯设备,对于如232C链路、电流环等特殊232串口设备不支持。如果用户在使用时 有问题,请与亚控公司的技术支持联系.
6.4 用户如何自己开发驱动程序-—驱动程序开发包
组态王的驱动程序都是以动态连接库的形式提供的,在组态王有设备通讯时,调用相应设备的动态连接库程序,该程序基于COM技术,实现了组态王与设备通讯程序间的无逢连接。
组态王已经提供了几百种设备的驱动程序。如果用户想要自己开发这样的驱动程序,组态王将提供一个方便适用的驱动程序开发包,该开发包中有说明文档、程序示例等,可以帮助用户快速、有效的开发出自己的驱动程序.关于开发包的具体情况,请与亚控公司的技术支持或销售人员联系。
北京亚控科技发展有限公司
展开阅读全文