WINCC串口通讯经验分享

时间:2023-03-19作者:佚名

已调试成功,希望能对有类似情况的朋友有帮助。
今天同事打电话说现场6台宇电AI仪表,1台东辉8路巡检仪,3台富士FRENIC-VP变频器,2台日本RKC仪表,1台创盛流量计都要挂到WINCC里(之前说是厂方自己弄的),因为厂方临时要求加的,邮寄CP340挂到S7300就算了,也没几个通信设备,都是RS485,一条通讯线挂一起,能省就省吧,同事随身带的有RS485转232模块。
平常项目都是自己写的软件,二年前就用过一次WINCC6,外挂其它通讯设备也没试过,在网上搜了一圈,多是讲opc什么的,不了解,觉得对我来说不太合适。还有讲用MSCOMM控件的。MSCOMM控件就不提了,已废弃多年不用了,不可能再回到老路上。于是决定移植上位机的代码,用WIN32 API 来做成OCX,WINCC里来调用,这样并非像网上说的要支持MODBUS协议或找OPC什么,只要通讯设备有通讯协议,带通讯接口即可。我的方法看起来也许比较麻烦,但方便维护,去现场调试的人不需对通讯怎么懂,会设置通讯设备的地址参数就行了,其它都用默认参数,再说增加个新的通讯设备协议,也就一小会儿事。
1.先编个基类,定义接口,方法,属性,例如通讯COM口,波特率、数据位、停止位、校验方式等等生成dll链接库。
2.从基类派生各个通讯设备类,如仪表,变频器,流量计,plc等等,通讯设备类负责将要读或要写的数据打包给串口类,并接收来自串口类的回送数据进行处理,生成dll链接库,这个库最大,包含了五十多种设备的通讯,以后新加通讯设备只需拷贝一个,稍加修改即可。
3.再编个通讯串口类,调用WIN32通信API函数,负责将通讯设备类打包过来的发送数据发送出去,再将接收到数据返回给通讯类自身处理,生成dll动态链接库。
4.再编个消息类,负责将通讯的发送字节,接收字节,当前通讯设备的通讯设置参数,通信成功或失败等信息作为事件触发,生成dll动态链接库.
5.后面的就简单了,编个OCX控件直接引用上面的DLL库编几个小调用函数,再封装几个属性和消息事件触发,编译一下做个OCX安装程序。
6.发给同事OCX安装包,同事安装后直接注册下OCX即可用,只需在WINCC里初始化下这个OCX挂的各个设备名称,通讯地址,端口,波特率,数据位,停止位。然后再在循环处理过程里编个通用的轮循过程,要读的设备号,要读的参数或要写的参数及要写的数据。读写成功失败或者收发的字节通过OCX的事件触发来处理。
7.如果现场新加的通讯设备协议在这个OCX中,WINCC只需要改一下初始化过程,挂靠的OCX通讯设备名称,通讯参数即可,其它如轮循过程,变量处理根本不需要改动。
如果WINCC只挂少量设备,也可以采用MSCOMM控件处理,毕竟MSCOMM简单,建议还是不要在WINCC里直接用MSCOMM控件,代码很乱,不方便移植。还是自己编个OCX,在OCX里面用MSCOMM控件,再封装几个方法属性出来给WINCC调用,也方便客户使用。

毕竟WINCC我很少用它,但它确实很强大^_^,也许是我不熟的原因,觉得它通信慢。问下大家,读单字,双字大概算下来有合计800个16位字的通讯,MPI方式.下午顺便发了个测试代码给同事,同事说WINCC一次大概只能读100多个字,也就是200多个字节,再多了就失败,而且每次耗时大概1~2秒.那800个字不得调8次?感觉这样不行。我用的GetTagRaw函数.但是我记得如果采用PRODAVE方式,一次就可以读回来了,耗时感觉不到1秒,正考虑是不是把S7300/200 PLC通讯全移到OCX处理算了,不知有没这个必要。

利用循环。
第一个500ms读一个设备;
第二个500ms读第二个设备;
第32个500ms读第32个设备;
不要一起都读!分开读!

相关阅读

比亚迪驱动复用升压充电原理基础

比亚迪e3.0发布的时候提到了“驱动复用,升压充电”,也就是用电驱动替代传统DC-DC电路,实现500V充电桩直接给800V电池充电。 了解这个之前,先回顾电路的基础知识,先从降压电路开...
2023-05-31
比亚迪驱动复用升压充电原理基础

火灾分类 灭火器的类型选择 配电装置室配电房灭火器选择 灭火器的配置使用规定

火灾分类 根据国际标准ISO 3941:2007《火灾分类》规定,根据物质燃烧特性,划分A、B、C、D、F五类,与此对应的是灭火器的灭火能力(灭火器类型选择的主要依据)。根据火灾现场是否带...
2024-08-21
火灾分类 灭火器的类型选择 配电装置室配电房灭火器选择 灭火器的配置使用规定

电气控制图基础知识,这是我见过最详细的,科普涨知识,建议收藏

电气控制系统图,主要包括电气原理图和电气安装图。在电气控制系统中,为了表达系统的设计意图,准确地分析、安装、调试和检修,都离不开电气控制系统图。熟练绘制与识读电气...
2023-06-13
电气控制图基础知识,这是我见过最详细的,科普涨知识,建议收藏

热继电器和熔断器的区别?

【免费下载】 PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载! 【免费学习】 变频器精品课程_西门子PLC精品教程_三菱PLC精品教程! 热过载继电器和熔断器都是电气材料中最常用...
2023-06-27

电工技能:线路漏电检测大法

家里有地方漏电是件麻烦事,自己又不懂如何判断呢?小编带你解决难题,一起来看看家里漏电如何检测吧! 如果一合闸,漏电开关就跳闸,这类属火线漏电,检查方法如下: 1.把各分...
2023-06-27

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

公牛开关插座面板全屋定制全屋配齐家装报价单官方正品付款链接Q9

公牛开关插座面板,为您的全屋定制家装提供一站式解决方案。我们提供全屋配齐的家装报价单,确保您的家装项目完美无缺。所有产品均为官方正品,品质保证,让您用得放心。...
¥ 1

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目