今天无意中接触到组态软件和自己公司研发的虚拟服务串口软件(虚拟串口与网络端口映射)和现场串口设备联合调试的案例。
颠覆了我对在学校时学到的组态软件的应用。
首先说下组态软件是什么,针对工程的实践理解,以xx表为例,个人认为组态软件是一个集成了xx表的协议,添加设备时,选择了这个xx表后,同时选择这个xx表所在的com口后,添加一些xx表的变量,每个表都有很多变量这个是毋庸置疑的,添加好变量后,要将这些变量关联到设备中,并且选好每个变量的类型。然后创建画面,绘画画面,画面中在你想要显示xx表的变量值的位置设置动画关联。在运行画面的时候,组态软件会按照设定的时间去刷新一次画面,同时组态软件也会在规定的时间内按照这个xx表的协议,通过添加xx表时对应的com口去进行抄表,并且将xx表的变量解析出来之后,放到了组态的某个缓存中,当你的画面进行刷新的时候,组态就会去缓存中将这个画面中的那个表的那个变量值从缓存中取出来,放到画面上对应的这个变量显示的位置进行显示。这就是组态。
下面来讲下我用组态王6.55和虚拟串口服务软件和现场设备进行联合测试的说明
首先运行组态王6.55,
点击新建一个工程
工程名字我以whywhy为名,至于创建在哪个目录那就是你的事情了,点击新建完成创建工程后如图:
多出来了个whywhy工程
双击whywhy工程后,弹出工程浏览器界面和开发系统界面
下面我们来创建一个设备,点击工程浏览器左侧的设备后,双击工程浏览器右侧的新建按钮来新建一个设备,我选择PLC-》唐山会中-》CRL*-》串口
点击下一步后弹出给新的IO设备起名字的界面,我这里起了个why_test名字,之后点击下一步,此时让你进行选择一个com口,这个com口将来和这个设备进行关联,组态会按照唐山汇中的协议通过这个COM口去抄汇中的表,表返回的数据返给这个com口,组态进行解析。这里我选择虚拟串口映射出来的com3口,该com3口和本机端口的9997端口建立了映射关系。
com3和设备关联好后,点击下一步,让你输入地址,这个地址即为到时真正连接到这个com口的表的地址,虽然我的com3和端口9997建立了映射,但是两者之间也是透传的,9997端口到时会被现场的串口转网络设备所连接,而串口转网络设备又会和汇中的表相连,因此这里的地址实际是要按照实际情况去填写,我填写65,点击下一步,之后会弹出尝试恢复时间间隔,最长恢复时间的界面,这里使用默认值直接跳过,不追研究。直接点击下一步,最后弹出对话框
点击完成即可,同时你也可以点击工程浏览器左面的COM3来为这个COM3设置一下串口属性。
此时在工程浏览器中会看到设备下的com3中多出来了一个why_test设备,说明why_test设备已经和com3口关联成功,接下来要为这个why_test设备,也就是汇中的表来添加一些变量了,首先要选择工程浏览器左侧的数据库,点击数据库下的数据词典后会发现工程浏览器右侧界面有变化
点击新建按钮来添加将来要关联到这个why_test汇中表中的变量。
添加一个名为heat的变量,变量类型为内存实数,名字还是根据实际情况的名字起比较好,变量类型也是要根据汇中协议中对变量的类型来恰当选择,其他内容先不填吧,因为我也没研究,点击确定使得这个变量创建成功,依次这样创建三个变量吧,意思下,毕竟只是说明,一共创建了Heat、Heat1、Heat2三个变量,变量的类型都一样,这里要根据实际变量的多来进行创建。这里如果不选择内存实数的话,就可以选择链接设备,连接设备选择why_test,说明你的这个变量要链接到why_test这个设备中,这个时候,寄存器栏中会将这个设备能解析的所有变量类型都显示出来,你为这个变量选择一个寄存器类型表示将来解析出来寄存器中的变量值后,用哪个变量来显示出来。寄存器我选择HEAT表示热量
接下来进行创建画面,点击工程浏览器左侧中的画面后,点击右侧的新建按钮来创建一个画面,设置画面的名称为why_test_test
这个界面中的其他内容不去说明,其中命令语言提一下,这个里面写的代码可以影响到将来界面中显示的变量的变化等情况。这里直接点击确定
画面创建好后,在画面中画了一个矩形,同时输入了三个文本,文本的内容都为####。
接下来为这个文本来进行关联变量,以一个文本为例,双击一个文本,弹出一个对话框,对话框中选择模拟量输出后,会弹出一个对话框让你选择一个变量,我选择Heat这个变量,这个变量事先已经被关联到了com3口中的汇中表why_test中的HEAT热量这个变量,也就是说当画面运行的时候,画面会按照汇中的协议去com3口抄表,抄到的数据按照协议将变量解析出来之后会得到HEAT值,因为HEAT值是跟Heat变量关联的,所以会在和Heat关联的文本中显示出来。
工作流程:组态软件按照汇中的协议组包去com3口抄汇中的表,也就是发抄表指令,由于com3口和网络端口9997映射,抄表指令会发送到9997端口中,同时9997端口被现场的串口转网口设备连接,因此抄表指令会发送到现场的串口转网口设备中,同时串口转网口设备的串口端又和现场的汇中表相连,此时就会对汇中的表发送抄表指令,当汇中的表收到抄表指令后会回复抄到的数据包,通过汇中表-》串口转网络设备-》网络-》本机端口9997-》com3-》组态王,最后com3因为和组态王中的汇中表关联,组态会按照汇中的协议进行解析,解析出来HEAT热量后,因为HEAT热量又和Heat变量值相关联,因此Heat的值为HEAT热量的值,因为在画面中的一个文本又和Heat变量关联,因此这个文本会显示出Heat变量的值。
只是一些个人的理解和总结,记录的比较粗糙,目的是为了便于自己以后忘记的时候能够回来观看进行会议,切勿喷。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。