- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#读读写写三三菱菱PLC数数据据使使⽤⽤TCPIP协协议议
本⽂将使⽤⼀个Github开源的组件库技术来读写三菱PLC和西门⼦plc数据,使⽤的是基 以太⽹的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线
程,本组件⽀持超级⽅便的⾼性能读写操作
github地址: 如果喜欢可以star或是fork,还可以打赏⽀持,打赏请认准源代码项⽬。
在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输⼊下⾯的指令安装:
1Install-Package slCommunication
如果需要教程:Nuget安装教程:
联系作者及加群⽅式 (激活码在群⾥发放):
组件的完整信息和A PI介绍参照: 组件的使⽤限制,更新⽇志,都在该页⾯⾥⾯。
如果你需要在读取PLC数据之后,还要群发客户端来实现远程办公室同步监视,可以参考如下的项⽬ (基 该组件扩展起来的,带有账户验证,版本控制,数据群发,公告管理
等等功能)
本⽂将展⽰如何配置⽹络参数及怎样使⽤代码来访问PLC数据,希望给有需要的⼈解决⼀些实际问题。主要对三菱Q系列PLC的X ,Y ,M,L,B,V ,F,S,D,W ,R区域的
数据读写,对西门⼦PLC的M,Q,I,DB块的数据读写,亲测有效。
此处使⽤了⽹线直接的⽅式,如果PLC接进了局域⽹,就可以进⾏远程读写了^_^
此处使⽤到了2个命名空间:
1using slCommunication;
2using slCommunication.Profinet ;
随随便便聊聊聊聊
当我们⼀个上位机需要读取100台西门⼦PLC设备 (此处只是举个例⼦,凡是都是使⽤Modbus tcp的都是⼀样的)的时候,你采⽤服务器主动去请求100台设备的机制对性能来说
是个极⼤的考验,如果开100个线程去轮询100台设备,那么性能损失将是⾮常⼤的,更不⽤说再增加设备,如果搭建Modbus tcp服务器,就可以完美的解决性能问题,因为连接
的压⼒将会平均分摊给每⼀台PLC ,服务器端只要新增⼀个时间戳就可以知道客户端有没有连接上。
我们在100台PLC⾥都增加发送Modbus tcp⽅法,将数据发送到服务器的ip和端⼝上去,服务器根据站号来区分设备。这样就可以搭建⼀个⾼性能总站。 本组件⽀持快速搭建⼀
个⾼性能的Modbus tcp总站。
关 两种模式
在PLC端,包括三菱,西门⼦,欧姆龙以及Modbus Tcp客户端的访问器上,都⽀持两种模式,短连接模式和长连接模式,现在就来解释下什么原理。
短连接:每次读写都是⼀个单独的请求,请求完毕也就关闭了,如果服务器的端⼝仅仅⽀持单连接,那么关闭后这个端⼝可以被其他连接复⽤,但是在频繁的⽹络请求下,容易
发⽣异常,会有其他的请求不成功,尤其是多线程的情况下。
长连接:创建⼀个公⽤的连接通道,所有的读写请求都利⽤这个通道来完成,这样的话,读写性能更快速,即时多线程调⽤也不会影响,内部有同步机制。如果服务器的端⼝仅
仅⽀持单连接,那么这个端⼝就被占⽤了,⽐如三菱的端⼝机制,西门⼦的Modbus tcp端⼝机制也是这样的。以下代码默认使⽤长连接,性能更⾼,还⽀持多线程同步。
在短连接的模式下,每次请求都是单独的访问,所以没有重连的困扰,在长连接的模式下,如果本次请求失败了,在下次请求的时候,会⾃动重新连接服务器,直到请求成功为
⽌。另外,尽量所有的读写都对结果的成功进⾏判断。
关 ⽇志记录
不管是三菱的数据访问类,还是西门⼦的,还是Modbus tcp访问类,都有⼀个LogNet属性⽤来记录⽇志,该属性是⼀个接⼝类,ILogNet,凡事继承该接⼝的都可以⽤来记录⽇
志,该⽇志会在访问失败时,尤其是因为⽹络的原因导致访问失败时会进⾏⽇志记录 (如果你为这个 LogNet 属性配置了真实的⽇志记录器的话):如果你想使⽤该记录⽇志的
功能,请参照如下的博客进⾏实例化:
访访问问测测试试项项⽬⽬
下⾯的⼀个项⽬是这个组件的访问测试项⽬,您可以进⾏初步的访问的测试,免去了您写测试程序的⿇烦,三菱的界⾯和西门⼦的界⾯⼏乎是⼀致的。可以同时参考。该项⽬位
本篇⽂章开始处的Gitbub源代码⾥⾯的
下载地址为:
演演⽰⽰项项⽬⽬
下⾯的三篇演⽰了具体如何去访问PLC的数据,我们在访问完成后,通常需要进⾏处理,以下的⽰例项⽬就演⽰了后台从PLC读取数据后,前台显⽰并推送给所有在线客户端的
功能,客户端并进⾏图形化显⽰,具有⼀定
您可能关注的文档
最近下载
- 12J201平屋面建筑构造图集.docx VIP
- 陶瓷绝缘连接器.pdf VIP
- 土木专业英国规范NA+A1_2012 to BS EN 1993-2_2006.pdf VIP
- 海南优腾爱科医疗科技有限公司医疗器械研发生产环评报告表.docx
- DB31_T 416-2008 城市道路路名牌(法规规范).pdf VIP
- 电力井施工规范.docx VIP
- 2023年必威体育精装版的李白赞美杨贵妃的诗句.docx VIP
- ESC+2024+心房颤动(房颤)管理指南解读课件.pptx VIP
- 2025四川乐山市五通桥区发展产业投资有限公司公开招聘11人笔试备考题库及答案解析.docx VIP
- 人工智能基础(国科技大)中国大学MOOC慕课 章节测验 客观题答案.docx VIP
文档评论(0)