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个设备;
不要一起都读!分开读!

相关阅读

压线鼻子正确压接工艺规范

压线鼻子正确压接工艺规范 在电气安装、设备维修及线路敷设等作业中,压线鼻子(又称接线端子)是实现电线可靠连接的核心部件,其压接质量直接关系到电路导电性能、运行安全及使用...
2026-04-10
压线鼻子正确压接工艺规范

机床电气配线规范与实践

一、电线管敷设的精细要求 在机床、机组及控制柜的电气配线中,电线管的敷设至关重要。首先,为了效率与成本考虑,电线管应沿最短路径铺设,并尽量减少不必要的弯曲,这既节省材料又...
2024-08-21
机床电气配线规范与实践

为什么现在禁止采用编织软铜线跨接了?

做电工的都有体会:不少工地上的配电箱箱门,至今还在用编织软铜线跨接,但每次验收、检查,这种做法十有八九会被要求整改。 很多人纳闷:编织软铜线跨接,以前一直这么做,怎么突然就不...
2026-04-11
为什么现在禁止采用编织软铜线跨接了?

变压器的主要技术参数

变压器在规定的使用环境和运行条件下,主要技术数据一般都都标注在变压器的铭牌上。主要包括:额定容量、额定电压及其分接、额定频率、绕组联结组以及额定性能数据(阻抗电压...
2023-03-21

PVC╱KBG╱JDG╱SC:四种电气导管对比总结

建筑工程中常用的四种电气导管: PVC管 (硬化聚氯乙烯管)、 KBG管 (扣压式薄壁钢管)、 JDG管 (紧定式薄壁钢管)、 SC管 (焊接钢管),其材质、工艺及适用范围各有何特点?预埋...
2023-06-11
PVC╱KBG╱JDG╱SC:四种电气导管对比总结

热销商品

EPDM配电箱机柜密封条三元乙丙橡胶半圆海绵自粘发泡胶条20*10mm

EPDM配电箱机柜密封条采用优质三元乙丙橡胶(EPDM)材质,具备优异的耐候性、耐臭氧、耐高低温(-40℃~+120℃)及抗老化性能,适用于户外及严苛环境。其半圆海绵结构设计,兼具...
1.08

防静电塑料镊子93301-08硬质碳纤维合成镊子 尖头镊子 纤维镊子

防静电塑料镊子93301-08采用硬质碳纤维合成材料制成,兼具高强度与轻量化特性,适用于精密操作场景。其尖头设计精细,夹持力稳定,可精准抓取微小元件,广泛应用于电子元器...
0.3

耐高温发泡硅胶密封垫片背胶定制聚氨酯丁晴氟橡胶EPDM矩形软四氟

耐高温发泡硅胶密封垫片背胶定制产品,采用优质硅胶、聚氨酯、丁腈橡胶、氟橡胶及EPDM等多种高性能材料,具备优异的耐高温、耐油、耐腐蚀与抗老化性能。其发泡结构质...
2

硅胶发泡圆条硅胶发泡条耐高温密封条海绵条 1mm/2/3/4/5/8/10/12

硅胶发泡圆条(又称硅胶发泡条、耐高温密封条、海绵条)是一种高性能密封材料,采用优质硅胶发泡工艺制成,具有优异的耐高温、耐老化、阻燃及弹性恢复性能。常见规格包括...
1.6

轻便型防撞鸭舌安全帽车间防撞安全鸭舌帽防砸帽劳保帽子定制印字

轻便型防撞鸭舌安全帽专为车间作业设计,融合安全防护与舒适佩戴体验。采用高强度ABS材质,重量轻、抗冲击性强,有效抵御高处坠物及侧面碰撞,符合国家安全标准。鸭舌帽...
14.6

网站栏目