1、第2 章 I/O 设备管理,2.1 设 备 管 理 2.2 组态王提供的模拟设备仿真PLC 2.3 组态王提供的通讯的其他特殊功能,2.1 设 备 管 理,组态王采用工程浏览器界面来管理硬件设备,已配置好的设备统一列在工程浏览器界面下的设备分支,如图21 所示。 1. 组态王逻辑设备概念 组态王对设备的管理是通过对逻辑设备名的管理实现的,具体讲就是每一个实际I/O 设备都必须在组态王中指定一个唯一的逻辑名称,此逻辑设备名就对应着该I/O 设备的生产厂家、实际设备名称、设备通讯方式、设备地址、与上位PC 机的通讯方式等信息内容。在组态王中,具体I/O 设备与逻辑设备名是一一对应的,有一个I/O
2、设备就必须指定一个唯一的逻辑设备名,特别是设备型号完全相同的多台I/O 设备,也要指定不同的逻辑设备名。组态王中变量、逻辑设备与实际设备对应的关系如图22 所示。,返回,下一页,2.1 设 备 管 理,设有两台型号为三菱公司FX260MR PLC 的下位机控制工业生产现场,同时这两台PLC均要与装有组态王的上位机通讯,则必须给两台FX260MR PLC 指定不同的逻辑名,如图23 所示。其中PLC1 和PLC2 是由组态王定义的逻辑设备名(此名由工程人员自己确定),而不一定是实际的设备名称。 另外,组态王中的I/O 变量与具体I/O 设备的数据交换就是通过逻辑设备名来实现的,当工程人员在组态王
3、中定义I/O 变量属性时,就要指定与该I/O 变量进行数据交换的逻辑设备名,I/O 变量与逻辑设备名之间的关系如图24 所示。,返回,上一页,下一页,2.1 设 备 管 理,2. 组态王逻辑设备的分类 组态王设备管理中的逻辑设备分为DDE 设备、板卡类设备(即总线型设备)、串口类设备、人机界面卡和网络模块,工程人员根据自己的实际情况通过组态王的设备管理功能来配置定义这些逻辑设备,下面分别介绍这五种逻辑设备。 1)DDE 设备 DDE 设备是指与组态王进行DDE 数据交换的Windows 独立应用程序。因此,DDE 设备通常就代表了一个Windows 独立应用程序,该独立应用程序的扩展名通常为.
4、EXE 文件,组态王与DDE 设备之间通过DDE 协议交换数据,如:EXCEL 是Windows 的独立应用程序,当EXCEL 与组态王交换数据时,就是采用DDE 的通讯方式进行。,返回,上一页,下一页,2.1 设 备 管 理,2)板卡类设备 板卡类逻辑设备实际上是组态王内嵌的板卡驱动程序的逻辑名称。内嵌的板卡驱动程序不是一个独立的Windows 应用程序,而是以DLL 形式供组态王调用,这种内嵌的板卡驱动程序对应着实际插入计算机总线扩展槽中的I/O 设备,因此,一个板卡逻辑设备也就代表了一个实际插入计算机总线扩展槽中的I/O 板卡。 3)串口类设备 串口类逻辑设备实际上是组态王内嵌的串口驱动
5、程序的逻辑名称。内嵌的串口驱动程序不是一个独立的Windows 应用程序,而是以DLL 形式供组态王调用,这种内嵌的串口驱动程序对应着实际与计算机串口相连的I/O 设备,因此,一个串口逻辑设备也就代表了一个实际与计算机串口相连的I/O 设备。,返回,上一页,下一页,2.1 设 备 管 理,4)人机界面卡 人机界面卡又可称为高速通讯卡,它既不同于板卡,也不同于串口通讯,它往往由硬件厂商提供。通过人机界面卡可以使设备与计算机进行高速通讯,这样不占用计算机本身所带RS232 串口,因为这种人机界面卡一般插在计算机的ISA 板槽上。 5)网络模块 组态王利用以太网和TCP/IP 协议可以与专用的网络通
6、讯模块进行连接。,返回,上一页,下一页,2.1 设 备 管 理,3. 定义I/O 设备 在了解了组态王逻辑设备的概念后,工程人员可以轻松地在组态王中定义所需的设备了。进行I/O 设备的配置时将弹出相应的配置向导页,使用这些配置向导页可以方便快捷地添加、配置、修改硬件设备。组态王提供大量不同类型的驱动程序,工程人员根据自己实际安装的I/O 设备选择相应的驱动程序即可,下面我们以定义串口类设备为例进行说明。工程人员根据设备配置向导就可以完成串口设备的配置,组态王最多支持128 个串口。操作步骤如下: (1)在工程浏览器的目录显示区,用鼠标左键单击大纲项设备下的成员COM1 或COM2,则在目录内容
7、显示区出现“新建”图标,如图25 所示。选中“新建”图标后用左键双击,弹出“设备配置向导”对话框;或者用右键单击,则弹出浮动式菜单,选择菜单命令“新建逻辑设备”,也弹出“设备配置向导”对话框,如图26 所示。,返回,上一页,下一页,2.1 设 备 管 理,工程人员从树形设备列表区中可选择PLC、智能仪表、智能模块、板卡、变频器等节点中的一个。然后选择要配置串口设备的生产厂家、设备名称、通讯方式;PLC、智能仪表、智能模块、变频器等设备通常与计算机的串口相连进行数据通讯。 (2)单击“下一步”按钮,则弹出如下设备配置向导“设备逻辑名称”对话框,如图27 所示。 工程人员给要配置的串口设备指定一个
8、逻辑名称。单击“上一步”按钮,则可返回上一个对话框。 (3)继续单击“下一步”按钮,则弹出如下设备配置向导“选择串口号”对话框,如图28 所示。,返回,上一页,下一页,2.1 设 备 管 理,工程人员为配置的串行设备指定与计算机相连的串口号,该下拉式串口列表框共有128个串口号供工程人员选择。 (4)继续单击“下一步”按钮,则弹出如下设备配置向导“设备地址设置”对话框,如图29 所示。 工程人员要为串口设备指定设备地址,该地址应该对应实际的设备定义的地址,具体请参见组态王设备帮助。若要修改串口设备的逻辑名称,单击“上一步”按钮,则可返回上一个对话框。 (5)继续单击“下一步”按钮,则弹出如下设
9、备配置向导“通讯参数”对话框,如图210 所示。 (6)继续单击“下一步”按钮,则弹出如下设备配置向导“信息总结”对话框,如图211 所示。,返回,上一页,下一页,2.1 设 备 管 理,对于不同的串口设备,其串口通讯的参数是不一样的,如波特率、数据位、校验位等。所以在定义完设备之后,还需要对计算机通讯时串口的参数进行设置。如上节中定义设备时,选择了COM1 口,则在工程浏览器的目录显示区,选择“设备”,双击“COM1”图标,弹出“设置串口COM1”对话框,如图212 所示。在“通讯参数”栏中,选择设备对应的波特率、数据位、校验类型、停止位等,这些参数的选择可以参考组态王的相关设备帮助或按照设
10、备中通讯参数的配置。“通讯超时”为默认值,除非特殊说明,一般不需要修改。“通讯方式”是指计算机一侧串口的通讯方式,是RS232或RS485,一般计算机一侧都为RS232,按实际情况选择相应的类型即可。,返回,上一页,2.2 组态王提供的模拟设备仿真PLC,1. 仿真PLC 的定义 在使用仿真PLC 设备前,首先要定义它,实际PLC 设备都是通过计算机的串口向组态王提供数据,所以仿真PLC设备也是模拟安装到串口COM 上。亚控仿真PLC 设备配置如图213 所示,定义过程和步骤与上节定义串口设备完全一样。 2. 仿真PLC 的寄存器 仿真PLC提供五种类型的内部寄存器变量INCREA、DECRE
11、A、RADOM、STATIC 、CommErr,而INCREA 、DECREA、RADOM、STATIC 寄存器变量的编号从11 000,变量的数据类型均为整型(即INT),对这五类寄存器变量分别介绍如下:,返回,下一页,2.2 组态王提供的模拟设备仿真PLC,1)自动加1 寄存器INCREA 该寄存器变量的最大变化范围是01 000,寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递增变化范围,例如,INCREA100 表示该寄存器变量从0 开始自动加1,其变化范围是0100。 2)自动减1 寄存器DECREA 该寄存器变量的最大变化范围是01 000,寄存器变量
12、的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递减变化范围,例如,DECREA100 表示该寄存器变量从100 开始自动减1,其变化范围是0100。,返回,上一页,下一页,2.2 组态王提供的模拟设备仿真PLC,3)静态寄存器STATIC 该寄存器变量是一个静态变量,可保存用户下发的数据,当用户写入数据后就保存下来,并可供用户读出,直到用户再一次写入新的数据,此寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量能存储的最大数据范围,例如,STATIC100 表示该寄存器变量能接收0100 中的任意一个整数。 4)随机寄存器RADOM 该寄存器变量的值
13、是一个随机值,可供用户读出,此变量是一个只读型,用户写入的数据无效,此寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量产生数据的最大范围。例如,RADOM100 表示随机值的范围是0100。,返回,上一页,下一页,2.2 组态王提供的模拟设备仿真PLC,5)CommErr寄存器 该寄存器变量为可读写的离散变量,用来表示组态王与设备之间的通讯状态。CommErr=0表示通讯正常;CommErr=1 表示通讯故障。用户通过控制CommErr 寄存器状态来控制运行系统与仿真PLC 通讯,将CommErr 寄存器置为打开状态时中断通讯,置为关闭状态后恢复运行系统与仿真PLC
14、之间的通讯。,返回,上一页,下一页,2.2 组态王提供的模拟设备仿真PLC,3. 仿真PLC 使用举例 下面对常量寄存器STATIC100 读写操作为例来说明如何使用仿真PLC 设备。 1)仿真PLC 的定义 仿真设备定义后的信息如图214 所示。 2)定义I/O 变量 定义一个I/O 型变量old_static,用于读写常量寄存器STATIC100 中的数据。在工程浏览器中,从左边的工程目录显示区中选择大纲项数据库下的成员数据词典,然后在右边的目录内容显示区中用左键双击“新建”图标,弹出“变量属性”对话框,如图215 所示。在此对话框中,变量名定义为old_static,变量类型为I/O 实
15、数,连接设备选择simu,寄存器定为STATIC100,寄存器的数据类型定为INT,读写属性为读写(根据寄存器类型定义),其他的定义见对话框,单击“确定”按钮,则old_static 变量定义结束。,返回,上一页,下一页,2.2 组态王提供的模拟设备仿真PLC,3)制作画面 在工程浏览器中,单击菜单命令“工程切换到Make”,进入到组态王开发系统,制作的画面如图216 所示,对读数据和写数据的两个输出文本串“#”分别进行动画连接。 其中写数据的输出文本串“#”要进行“模拟值输入”连接,连接的表达式是变量old_static,如图217 所示。 读数据的输出文本串“#”要进行“模拟值输出”连接,
16、连接的表达式是变量old_static,方法同上,如图218 所示。 4)运行画面程序 运行组态王运行程序,打开画面,运行画面如下,如图219 所示。 对常量寄存器STATIC100 写入数据80,则可看到读出的数据值也是80。,返回,上一页,2.3 组态王提供的通讯的其他特殊功能,1. 开发环境下的设备通讯测试 为保证用户对硬件的方便使用,在完成设备配置与连接后,用户在组态王开发环境中即可以对硬件进行测试。对于测试的寄存器可以直接将其加入到变量列表中。当用户选择某设备后,单击鼠标右键弹出浮动式菜单,除DDE 外的设备均有菜单项“测试设备名”。如定义亚控仿真PLC 设备,在设备名称上单击右键,
17、弹出快捷菜单,如图220 所示。 使用设备测试时,点击“测试”对于不同类型的硬件设备将弹出不同的对话框,如:对于串口通讯设备将弹出如图221 所示的对话框。 对话框共分为两个属性页:通讯参数和设备测试。“通讯参数”属性页中主要定义设备连接的串口的参数、设备的定义等,设备测试页如图222 所示。这些参数的选择请参照组态王设备帮助。,返回,下一页,2.3 组态王提供的通讯的其他特殊功能,选择要进行通讯测试的设备的寄存器。 寄存器:从寄存器列表中选择寄存器名称,并填写寄存器的序号(参见组态王设备帮助)。如本例中的“INCREA”寄存器的“INCREA 100”。然后从“数据类型”列表框中选择寄存器的
18、数据类型。 添加:单击该按钮,将定义的寄存器添加到“采集列表”中,等待采集。 删除:如果不再需要测试某个采集列表中的寄存器,在采集列表中选择该寄存器,单击该按钮,将选择的寄存器从采集列表中删除。 读取/停止:当没有进行通讯测试的时候,“读取”按钮可见,单击该按钮,对采集列表中定义的寄存器进行数据采集。同时,“停止”按钮变为可见。当需要停止通讯测试时,单击“停止”按钮,停止数据采集,同时“读取”按钮变为可见。,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能,向寄存器赋值:如果定义的寄存器是可读写的,则测试过程中,在“采集列表”中双击该寄存器的名称,弹出“数据输入”对话框,如图223
19、 所示。在“输入数据”编辑框中输入数据,单击确定按钮,数据便被写入该寄存器。 加入变量:将当前在采集列表中选择的寄存器定义一个变量添加到组态王的数据词典中。单击该按钮,弹出变量名称对话框,如图224 所示。 在编辑框中输入该寄存器所对应的变量名称,单击“确定”,该变量便加入到了组态王的变量列表中,连接设备和寄存器为当前的设备和寄存器。 全部加入:将当前采集列表中的所有寄存器按照给定的第一个变量名称全部增加到组态王的变量列表中,各个变量的变量名称为定义的第一个变量名称后增加序号。如定义的第一个变量名称为“变量”,则以后的变量依次为“变量1”、“变量2”等等。,返回,上一页,下一页,2.3 组态王
20、提供的通讯的其他特殊功能,采集列表:采集列表主要为显示定义的通讯测试的寄存器,以及进行通讯时显示采集的数据、数据的时间戳、质量戳等。 开发环境下的设备通讯测试,使用户很方便的就可以了解设备的通讯能力,而不必先定义很多的变量和做一大堆的动画连接,省去了很多工作,而且也方便了变量的定义。 值得注意的是,可以进行设备测试的有串口类设备、板卡类设备和OPC 类设备。其他如DDE、一些特殊通讯卡等都暂不支持该功能。,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能,2. 在运行系统中判断和控制设备通讯状态 组态王的驱动程序(除DDE 外)为每一个设备都定义了CommErr 寄存器,该寄存器表
21、征设备通讯的状态,是故障状态还是正常。另外用户还可以通过修改该寄存器的值控制设备通讯的通断。 在使用该功能之前,应该先为该寄存器定义一个I/O 离散型变量,变量为读写型。当该变量的值为0 或被置为0 时,表示通讯正常或恢复通讯。当变量的值为1 或被置为1 时,表示通讯出现故障或暂停通讯。 另外,当某个设备通讯出现故障时,画面上与故障设备相关联的I/O 变量的数值输出显示都变为“?”号,表示出现了通讯故障。当通讯恢复正常后,该符号消失,恢复为正常数据显示。,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能,3. 使用MODEM 对设备进行远程拨号采集数据 组态王支持对标准232 串口
22、通讯的设备用MODEM 拨号进行访问的方式。 1)拨号设置 选择组态王工程浏览器的大纲项“设备”,选择MODEM 所连接的串口标识,如“COM2”,双击“COM2”,弹出串口设置对话框,如图225 所示。 通讯参数:设置进行串口通讯时,串口的通讯波特率、检验方式、数据位、停止位、设备与计算机的通讯方式等。该项设置用于任何一个串口通讯的设备。,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能,Modem:选择该项,则该串口为拨号访问设备方式。主Modem AT 控制字:设置与PC连接的Modem 的控制字。系统启动时,先将该控制字写入主Modem。从Modem AT 控制字:设置与设
23、备连接的Modem 的控制字。 建议用户使用专门的软件(如Windows 的超级终端)按照Modem 使用说明在系统运行前对各个Modem 进行控制字设置。所以用户可以不设置这两项。 设置完成后,单击“确定”按钮返回。则在组态王设备列表中出现一个Modem 设备,如图226 所示。,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能,2)设备拨号使用 (1)建立Modem 变量。对于Modem 设备有四个寄存器: IPC:控制拨号通断寄存器。 数据类型:INT 型,可读写 数值标识:1开始拨号; 99挂断 IPS:拨通状态寄存器。 数据类型:INT 型,只读 数值标识:0未拨通;1拨
24、通 IPN:用户所要拨的电话号码。 数据类型:字符串型,可读写,返回,上一页,下一页,2.3 组态王提供的通讯的其他特殊功能, CommErr:表示设备通讯状态,并可控制设备通讯状态。 数据类型:Bit,离散型,可读写 数值标识:0通讯正常,或允许通讯;1通讯故障,或暂停设备通讯 (2)Modem 拨号的使用方法。 在组态王中定义数据采集设备,如“亚控PLC”,其连接的串口为COM2 口,定义相应的I/O 数据采集的变量,然后定义设备“亚控PLC”的“CommErr”寄存器变量,如“PLCCerr”,设置其初始值为“开”。 因为系统启动时,会自动启动各个连接的设备,数据采集设备“亚控PLC”没
25、有直接连接在PC 上,所以一般会出现设备连接错误,所以在定义数据采集设备“亚控PLC”的“CommErr”寄存器变量时,应设置其初始值为“开”,即暂停设备。,返回,上一页,下一页,上一页,2.3 组态王提供的通讯的其他特殊功能,系统启动后,用户输入电话号码(变量IPN1),然后进行拨号,当拨号拨通时,即IPS1的值为1 时,设置Modem 的CommErr寄存器(变量Cerr1)的值为1,即暂停Modem 设备。然后设置数据采集设备的CommErr寄存器(变量PLCCerr)的值为0,即恢复该设备,进行数据采集。当数据采集完成后,可以先暂停数据采集设备,然后恢复Modem 设备的通讯,然后挂断
26、。 对设备进行Modem 拨号数据采集在很大程度上方便了用户进行远程调试、监控和数据采集。但用户须慎用:Modem 拨号只适用于简单的标准的232 串口通讯设备,对于如232C链路、电流环等特殊232 串口设备不支持。,返回,图21 I/O设备配置,返回,图22 变量、逻辑设备与实际设备的对应关系,返回,图23 逻辑设备与实际设备示例,返回,图24 变量与逻辑设备间的对应关系,返回,图25 新建串口设备,返回,图26 设备配置向导,返回,图27 设备逻辑名称,返回,图28 选择设备连接的串口,返回,图29 填入PLC设备地址,返回,图210 填入通讯参数,返回,图211 配置信息汇总,返回,图212 设置串口参数,返回,图213 设备配置向导,返回,图214 设备信息,返回,图215 定义变量,返回,图216 定义动画连接,返回,图217 模拟值输入连接对话框,返回,图218 模拟值输出连接对话框,返回,图219 寄存器STATIC100测试画面,返回,图220 硬件设备测试,返回,图221 串口设备测试通讯参数属性页,返回,图222 串口设备测试设备测试属性页,返回,图223 “数据输入”对话框,返回,图224 加入变量输入变量名称,返回,图225 串口设置,返回,图226 定义Modem设备,返回,