MC协议(MELSEC通信协议)的Python实现

pymcprotocol的Python项目详细描述


脓杆菌

MC协议(MELSEC通信协议)的Python实现

安装

pip install pymcprotocol

协议类型

目前只支持mcprotocol。 实现4E类型。但没有经过测试。 1C~4C型不支持。在

支持PLC系列

  • Q系列
  • L系列
  • QnA系列
  • iQ-L系列
  • iQ-R系列

系列不支持3E或4E类型。
所以你不能交流。在

如何使用mc协议

1。设置PLC

首先,您需要将PLC设置为从Gxworks2或Gxworks3为mcprotocol打开端口。在

  • 打开您要通信的端口。在
  • 选择“通信数据代码”。如果选择ascii类型,还需要在setaccessopt方法中设置“ascii”。(默认为“bainary”)
  • 如果要写入PLC,还必须选中Enable online change

2。Python连接

^{pr2}$

3。发送命令

#read from D100 to D110wordunits_values=pymc3e.batchread_wordunits(headdevice="D100",readsize=10)#read from X10 to X20bitunits_values=pymc3e.batchread_bitunits(headdevice="X10",readsize=10)#write from D10 to D15pymc3e.batchread_wordunits(headdevice="D10",values=[0,10,20,30,40])#write from Y10 to Y15pymc3e.batchread_bitunits(headdevice="Y10",values=[0,1,0,1,0])#read "D1000", "D2000" and  dword "D3000".word_values,dword_values=pymc3e.randomread(word_devices=["D1000","D2000"],dword_devices=["D3000"])#write 1000 to "D1000", 2000 to "D2000" and 655362 todword "D3000"pymc3e.randomwrite(word_devices=["D1000","D1002"],word_value=[1000,2000],dword_devices=["D1004"],dword_values=[655362])#write 1(ON) to "X0", 0(OFF) to "X10"pymc3e.randomwrite_bitunits(bit_devices=["X0","X10"],values=[1,0])

4。远程操作

#remote run, clear all devicepymc3e.remote_run(clear_mode=2,force_exec=True)#remote stoppymc3e.remote_stop()#remote latch clear. (have to PLC be stopped)pymc3e.remote_latchclear()#remote pausepymc3e.remote_pause(force_exec=False)#remote resetpymc3e.remote_reset()

API参考

API引用已在此处发布。
https://pymcprotocol.netlify.app/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
爪哇太阳报。安全验证器。ValidatorException:PKIX路径生成失败   java理解为什么在onDispatchTouchEvent()返回True后仍调用onClick()   java如何在资源包中使用JSF标记/如何在资源包中重写URL?   java什么是流控制异常的替代方案?   java使用Spring数据JPA/MongoDB交叉存储,一个查询可以跨越两个数据库吗?   Apache Sling/felix中的java OSGi slf4j日志记录   为什么当我们想要水平/垂直旋转矩阵时,我们要把这个项除以2?   尝试从外部网页接收JSON字符串时出现安卓 Java NullPointerException   java执行异常:从Callable调用方法时   java在jetty上以调试模式运行webapp,使用maven jetty插件在intellij中构建成功(应用程序应在调试模式下启动)   带有内存数据库的linux Java应用程序的构建时间太长   基于java的随机数单元测试算法   java类型javax。摆动JComponent无法解析   Google日历API和UI小部件Java   java tomcat没有突然和任意地响应   java无法使用jsoup在html中获取图像src   我无法让Java接受键盘输入字符串   java如何开始使用Bambol而不让部署永远继续?   java如何使用另一个类的actionPerformed方法删除一个类/组件中的按钮?   java JSON反序列化brakets{}中的一系列对象