组态软件操作指南 建立硬件系统和变量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章内容
新建设备
定义基本变量
定义数据模型变量
概述
本章主要讲解如何定义设备,如何定义变量。
本培训工程中用到的变量主要为基本变量与模型变量。
KingSCADA的采集系统是指负责和现场设备进行通讯,并采集现场数据和控制现场数据的模块,称之为采集器,也叫KingIOServer应用,它是一组独立的应用程序,依赖于驱动产品,通过驱动与IO设备进行通讯。
采集系统由通讯链路,设备,数据块组成。
链路:链路是指计算机通过什么途径和设备进行连接,链路类别:串口,以太网,GPRS,Modem,通信卡,采集卡,无链路。
设备:设备是通过串口、接口板等方式与KingSCADA的数据采集系统进行数据信息交换的外部数字设备,包括可编程逻辑控制器(PLC)、分布式控制系统(DCS)、回路控制器、远程终端单元(RTU)、智能仪表、板卡、变频器等等。
变量:变量是对应硬件设备具体通道或地址的标识,由设备监视和控制的,反映现场运行状况的参数信息,如:温度、压力、流量等,在其他系统有时被称为I/O变量。
第一节建立硬件系统
新建设备
第一步:在Windows桌面上点击“开始”→“所有程序”→“KingIOServer3.7”→“KingIOServer 工程设计器”选项,弹出工程设计器界面,该界面与Windows的资源管理器很相似,操作方式也基本相同。
打开KIO软件后,在“IOServer应用组”,右键菜单-选择“添加新IOServer应用”菜单,或者选择“文件”菜单→“添加新应用”命令,在弹出的“新建应用/工程”对话框,设置如下:
图3-1打开IOServer和新建I/OServer应用对话框
一个工程中可以建立多个IOServer应用,且IOServer应用可以脱离KingSCADA独立存在。
IOServer 应用分本地IOServer应用(KingSCADA与IOServer应用在同一台机器上)和远程IOServer应用(KingSCADA与IOServer应用不在同一台机器上),区别在于IOServer应用中的网络配置。
在该对话框中您可以设置IOServer的名称、类型、存储路径,在这里我们以本地IOServer为例,名称为:IOServer1,存储路径为E:\培训\培训工程。
设置完毕后,单击“确认”按钮,完成I/O Servers的建立,如图3-2所示:
图3-2建立完成的IOServer应用
第二步:在“IOServer1”应用中,选中“设备”,右键菜单“新建设备”,弹出“新建设备-基本属性”
对话框,如图3-3所示:
图3-3新建设备对话框1
在这里我们连接modbus协议设备,设置设备名称为:modbus。
第三步:选择的采集驱动是:ModbusMaster,如图3-4所示:
第四步:“种类”中链路类型选择“以太网”,由于我们使用以太网通讯,如图3-5所示:
图3-5新建设备对话框3
第五步:“地址及冗余”中,设备地址:根据驱动要求的格式:设备IP 设备地址:端口号设备地址|浮点型顺序|Long类型顺序|CRC顺序,如图3-6所示:
图3-6新建设备对话框4
第六步:“通讯参数”设置,如图3-7所示:
图3-7新建设备对话框5
尝试连接间隔:当KingSCADA和设备通讯失败后,KingSCADA将根据此处的设定时间和设备尝试通讯一次。
最长连接时间:当KingSCADA和设备通讯失败后,超过此设定的时间仍然和设备通讯不上的话,KingSCADA将不再尝试和设备通讯。
这里我们选择默认设置即可,单击“完成”,完成设备的建立。
如图3-8所示:
图3-8新建设备对话框6
此IOServer应用建立完成之后可以供本机SCADA应用引用或者被别的电脑上的SCADA应用做为远程IOServer引用。
第二节定义变量
变量对应的是外部采集和控制设备通过某种方式传递来的现场数据。
KingSCADA和KingIOServer的变量类型有所区分,KingSCADA支持的变量类型如下:
系统变量:基本的变量点,每个变量点是一个单独的变量对象,不能修改。
基本变量:基本的变量点,每个变量点是一个单独的变量对象。
引用变量:以一组变量,替代多组数据类型相同的变量。
基本类型的变量也可以按照数据类型分为离散型、实型、整型和字符串类型。
1、内存离散变量、I/O离散变量
类似一般程序设计语言中的布尔(BOOL)变量,只有0、1两种取值,用于表示一些开关量。
2、内存实型变量、I/O实型变量
类似一般程序设计语言中的浮点型变量,用于表示浮点数据,取值范围10E-38~10E+38,有效值7位。
3、内存整数变量、I/O整数变量
类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围
-2147483648~2147483647。
4、内存字符串型变量、I/O字符串型变量
类似一般程序设计语言中的字符串变量,可用于记录一些有特定含义的字符串,如名称:密码等,该类型变量可以进行比较运算和赋值运算。
KingIOServer支持的变量类型如下:
一、在IOServer应用中定义IO变量
第一步:在“IOServer1”应用中,选中“变量”,右键菜单“新建变量”,弹出“新建变量”对话框,如图3-9所示:
图3-9新建变量对话框1
在“基本属性”标签页中,变量名:Tag1;变量类型:IOShort。
第二步:选择“采集属性”标签页,关联设备:modbus,寄存器:选择4,地址1,即寄存器为41,采集数据类型:SHORT,采集频率:1000ms,其他默认,如图3-10所示:
图3-10新建变量对话框2
第三步:选中“转换属性”标签页,在这里保留默认设置,如图3-11所示:
图3-11新建变量对话框3
第四步:选中“存储属性”标签页,设置为“改变”存储方式,死区为0,如图3-12所示:
图3-12新建设备对话框4
单击“确认”按钮,完成变量定义。
下面具体介绍I/O变量属性设置。
关联设备:在下拉列表框中选择已定义好的modbus设备。
寄存器:指定IO变量关联的寄存器,由寄存器类型和寄存器地址组成,寄存器类型和寄存器地址的定
义方式与IOServer驱动的设备类型有关。
频率:变量的采样频率,即KingSCADA多长时间从设备中采集一个数据点。
采集数据类型:设置变量对应的寄存器的数据类型,共有9种数据类型供用户选择。
IODisc(BIT):1位;范围是:0或1•
IOChar(BYTE):8位,1个字节;有符号,范围是:-128---127•
IOByte(BYTE):8位,1个字节;无符号,范围是:0---255•
IOShort(SHORT):2个字节,有符号,范围是:-32768---32767•
IOWord(USHORT):16位,2个字节;无符号,范围是:0---65535
IOLong(LONG):32位,4个字节;有符号,范围是:-2147483648---2147483647
IODWord(LONG):32位,4个字节;无符号,范围是:0---4294967295
IOFloat(FLOAT):32位,4个字节;范围是:10e-38---10e38,有效位7位
IOString(STRING):128个字符长度•
读写属性:
只读:对于只进行采集而不需要人为手动修改其值的变量一般定义为只读。
读写:对于需要进行输出控制又需要读回的变量一般定义为读写。
只写:对于只需要进行输出而不需要读回的变量可以定义为只写。
注:当只写变量的采集频率设置为0时,只有数据值发生变化时才会进行写操作,对于只写变量建议的采集频率为0。
最小原始值:字符串变量和离散变量无该属性,指从驱动程序中采集到现场实际数值的下限,与变量的数据类型保持一致。
最大原始值:字符串变量和离散变量无该属性,指从驱动程序中采集到现场实际数值的上限。
与变量的数据类型保持一致。
转换方式:设置I/O变量输入原始值到数据库使用值的转换方式。
有线性转换、取反、开方转换、非线性表、累计等转换方式。
关于转换的具体概念和方法,请参见手册第八章8.2.4.12 IO变量的转换及第九章9.2.2.6 IO变量数据转换。
二、在Server应用中定义IO变量
第一步:在KingIOServer工程设计器中,选择“IOServer应用组”→“IOServer1”→“网络配置”,如图3-13所示:
图3-13 IOServer网络配置
站点名设置为:IOServer,IP地址默认为本机IP,端口默认为12380。
注意,默认的站点名是机器名称,带“-”,需要将其更改成“_”或者去掉,因为C++命名支持此种命名。
第二步:在KingSCADA工程设计器中,选择“服务端应用组”→“培训工程”→“网络配置”→“其他服务器”→“IOServer服务器”→“站点管理”,如图3-14所示:
图3-14 IOServer站点配置1
单击“添加站点”按钮,在弹出的“添加IOServer站点”对话框中,选项上面建好的IOServer1路径,如图3-15所示:
图3-15 IOServer站点配置2
单击“确定”按钮,如图3-16所示:
图3-16 IOServer站点配置3
单击“确定”按钮,如图3-17所示,单击“是”按钮,完成站点保存。
图3-17 IOServer站点配置4
第三步:选择“服务端应用组”→“培训工程”→“建点”→“数据词典”,单击右侧“内容显示区”中的“新建”按钮和“快速添加”按钮,分别对应的单个添加和批量添加过程,下面讲“新建”按钮单独添加用法,点击,弹出对话框,如图3-18所示:
图3-18新建变量对话框
打开IO属性卡,单击访问名称后面的按钮,弹出如图3-19所示的对话框,选中上面建好的Tag1变量后,单击“确定”按钮,如图3-20所示。
图3-19新建变量对话框
图3-20新建变量对话框
采集设置:分为允许、强制读、强制写三个复选项:
允许:控制变量采集与否,此项被选中表示KingSCADA运行时采集该变量的值,否则不采集变量的值。
用户也可以在运行环境中通过IOEnable域动态更改该属性值。
强制读:此项为复选项,当该项被选中时,每次采集(数据上报),不管数据是否发生变化,都要强制记录、报警和进行其它处理。
用户也可以在KingSCADA运行环境中通过IORead域动态更改该属性值。
强制写:此项为复选项,当此项被选中时,在KingSCADA画面中只要用户重新设置、输入了变量值,不管是否发生了变化,KingSCADA都完成一次写操作,将数据写到设备上。
用户也可以在运行环境中通过IOWrite域动态更改该属性值。
单击“确定”按钮,完成IO变量的设置。
三、定义基本变量
本培训工程中我们用到的变量主要有:反应釜温度,反应釜液位,原料罐液位,催化罐液位,原料罐进料阀门,催化罐进料阀门,反应釜进料阀门1,反应釜进料阀门2,反应釜出料阀门3。
原料罐进料水泵,催化罐进料水泵,反应釜出料水泵。
其中我们将反应釜温度,反应釜液位,反应釜进料阀门1,反应釜进料阀门2,反应釜出料阀门3,反应釜出料水泵定义为基本变量,原料罐液位,催化罐液位,原料罐进料阀门,催化罐进料阀门,原料罐进料水泵,催化罐进料水泵定义为数据模型变量。
基本变量定义过程如下:
第一步:在KingSCADA工程设计器中,选择“服务端应用组”→“培训工程”→“建点”→“数据词典”选项,单击右侧“内容显示区”中的“新建”按钮,弹出对话框,如图3-21所示:
图3-21新建变量对话框
第二步:在对话框中建立培训工程中需要的变量:⏹变量名:temperature
⏹变量类型:基本变量
⏹数据类型:内存实数
⏹变量描述:反应釜温度
⏹初始值:0
⏹死区:0
⏹最小值:0
⏹最大值:100
⏹保存值:选中
⏹变量名:liquid_level
⏹变量类型:基本变量
⏹数据类型:内存实数
⏹变量描述:反应釜液位
⏹初始值:0
⏹死区:0
⏹最小值:0
⏹最大值:100
⏹保存数值:选中
⏹变量名:valve_gate1
⏹变量类型:基本变量
⏹数据类型:内存离散
⏹变量描述:反应釜进料阀门1
⏹初始值:False
⏹保存值:选中
⏹变量名:valve_gate2
⏹变量类型:基本变量
⏹数据类型:内存离散
⏹变量描述:反应釜进料阀门2
⏹初始值:False
⏹保存值:选中
⏹变量名:valve_gate3
⏹变量类型:基本变量
⏹数据类型:内存离散
⏹变量描述:反应釜出料阀门
⏹初始值:False
⏹保存值:选中
⏹变量名:water_pump
⏹变量类型:基本变量
⏹数据类型:内存离散
⏹变量描述:反应釜出料水泵
⏹初始值:False
⏹保存值:选中
⏹变量名:Motor
⏹变量类型:基本变量
⏹数据类型:内存离散
⏹变量描述:反应釜搅拌电机
⏹初始值:False
⏹保存值:选中
在这里我们建立的变量都是内存变量,主要目的是为了达到工程的演示效果,但在实际工程中,这些变量都是与现场设备连接在一起的,应该选择I/O变量。
至此,数据变量已经定义起来了,而对于大批同一类型的变量,KingSCADA还提供了快速成批定义变量的方法,如果大家感兴趣的话,可以参考KingSCADA用户手册。
四、定义数据模型变量
在定义数据模型变量之前,我们要先介绍一下数据模型,因为数据模型实例化的产物是数据模型变量,所以要先有数据模型才会有数据模型变量。
数据模型:模拟现实中的生产设备的数据部分,把某一设备的一些变量和关于这些变量的一些脚本运算组合在一起形成数据模型,用户在使用时只需要将模型实例化,即配置相关的参数,可以快速把这些数据点和脚本部署到工程中。
使用数据模型可以实现快速建立变量的功能,而对于复杂的、点数相对较大的工程或者在不同的工程中具有复用性的模型,这个功能是非常有用的。
使用这个功能的关键是如何提炼出符合要求的数据模型。
我们在这里建立一个包含液位、阀门、水泵三个变量的数据模型,并且将液位与阀门、水泵的控制逻辑关系放到这个数据模型中来。
三个变量的逻辑关系为:液位低于报警低限值时自动开启水泵与阀门开关,高于报警高限值时停止水泵,关闭阀门。
数据模型创建过程如下:
第一步:在KingSCADA工程设计器中,选择“建点”→“数据模型”选项,在右侧编辑中单击“新建”按钮,弹出对话框,如图3-22所示:
图3-22创建数据模型对话
在该对话框中输入数据模型的名称:如:Control,其他属性可以根据需要输入,比如密码,如果设置了密码,用户在对数据模型编辑时要正确输入。
初始ID和当前ID是由系统自动生成的,默认即可。
设置完毕后,单击“确认”按钮,该数据模型将出现在内容显示区,如图3-23所示:
图3-23编辑区中的数据模型
第二步:在图3-23中选中模型图标,单击“编辑”按钮或双击数据模型图标,弹出对话框,如图3-24
所示:如果在创建数据模型对话框中设置密码的话,在编辑之前系统会提示密码输入对话框,只有输入正确后才可弹出下图:
图3-24数据模型编辑对话框
数据模型内容包括:变量、参数和脚本,在该对话框中可以建立数据模型中用到的变量、参数并编写相关的控制脚本。
这里建立的变量是局部变量,适应范围仅仅是该数据模型。
新建参数:
数据模型参数主要于定义数据模型变量时,变量的属性值可以直接关联某个参数,或者包含某些参数,这样当数据模型在实例化成数据对象时,只需要改变参数的值,即可改变变量的属性值,参数起到了宏替换的作用。
参数支持的数据类型如下:字符串类型、长整型、浮点型、布尔类型,一般情况,参数是用来配合IO 变量的“访问名称”属性的配置。
我们建立一个参数:P
在图3-24中选择“参数”选项,单击鼠标右键,在弹出的右键菜单中执行“新参数”命令,弹出对话框,如图3-25所示:
图 3-25 新建参数对话框
在数据模型中定义如下参数:
⏹参数名:P
⏹描述:IO变量拼接参数
⏹数据类型:string
⏹默认值:"dhkPC.Tag1.Value"
注:IO变量链接部分分为IO站点名.IO变量名.Value,故如果变量命名有规则,P参数完全可以进行拼接字符串,从而达到一个参数便可决定一批变量效果,而不是每个IO变量都要建立一个参数关联,比如命名都是Tag1-10,10个变量,那么完全可以建立”IO站点名.Tag”+P+”.Value”。
然后在模型实例中,进行配置参数即可。
新建变量:
数据模型变量属性可以进行锁定,属性一旦被锁定,则数据模型属性变化时,将会传播到实例化后的数据模型变量中,修改属性的变化,否则,不会传播到数据模型变量中。
单击属性后面的按钮,当该按钮变为,表示该属性被锁定。
在图3-24中选择“变量”选项,单击鼠标右键,在弹出的右键菜单中执行“新建变量”命令,弹出对话框,如图3-26所示:
图3-26新建变量对话框在数据模型中定义如下变量:
⏹变量名:liquid_level
⏹数据类型:内存实数
⏹变量描述:液位
⏹初始值:0
⏹灵敏度:0
⏹最小值:0
⏹最大值:100
⏹保存值:选中
⏹属性锁定
点击“IO”选项卡,设置“访问名称”设定,如图3-27所示:
图3-27 选择参数
报警配置,设置高、低限,如图3-28。
图3-28 报警设置在数据模型中定义其他离散变量:
⏹变量名:valve_gate
⏹数据类型:内存离散
⏹变量描述:阀状态
⏹初始值:关
⏹保存值:选中
⏹属性锁定
⏹变量名:water_pump
⏹数据类型:内存离散
⏹变量描述:泵状态
⏹初始值:关
⏹保存值:选中
⏹属性锁定
新建数据模型脚本:
数据模型脚本是指在数据模型中编写的脚本程序,脚本中只能使用模型中定义的变量和工程中的系统变量,如:$Year、$Month、$Day等,但需要注意,系统变量不能作为触发条件,也可以使用KingSCADA 提供的所有函数。
数据模型支持的脚本类型如下:数据改变脚本、事件脚本、定时脚本、自定义函数脚本。
我们利用事件脚本来做逻辑控制。
要实现的三个变量的逻辑关系为:液位低于报警低限值时自动开启水泵与阀门开关,高于报警高限值时停止水泵,关闭阀门。
在表达式脚本中点击“新建”,弹出如下图3-29所示:
图3-29 事件脚本
建立三个表达式脚本程序如下:
1、在事件条件中填写:
liquid_level>liquid_level.HiLimit
在“进入”填写:
valve_gate=0;
water_pump=0;
2、在事件条件中填写:
liquid_level<liquid_level.LoLimit
在“进入”填写:
valve_gate=1;
water_pump=1;
3、在事件条件中填写:
valve_gate==1
在“存在”填写:
liquid_level=liquid_level+0.78;
第三步:数据模型实例化,实例化的产物是数据模型变量。
在KingSCADA工程设计器中,选择“建点”→“数据模型对象”选项,在右侧编辑中单击“新建”按钮,弹出对话框,如图3-30所示:
图3-30数据模型实例化对话框
名称:activator
数据模型:Control
单击“确认”按钮,该数据对象出现在模型编辑区中。
利用同样的方法,建立另外一个数据对象:
名称:material
数据模型:Control
即两个数据模型变量使用的是同一个数据模型,而模型中又有三个变量,那就相当于建立了6个变量,实例化后的变量就是数据模型变量了,数据模型变量和工程变量一样,可以应用在工程的各个地方,使用方法也一致。
通过以上操作我们不难看出,使用数据模型可以实现快速定义变量的功能,同时还可以在内部定义相应的逻辑控制功能。
建立的这些数据模型变量,在后面章节中我们还会用到。
至此,硬件系统和变量已经建立完毕,下面我们就该使用KingSCADA软件提供的强大的绘图工具绘制监控画面了。
课后练习:
1、尝试在KingSCADA中建立西门子300TCP通讯的设备并定义设备中的变量。
2、尝试在KingSCADA中建立欧姆龙hostlink通讯的设备并定义设备中的变量。