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第三方库


热门话题
java Hibernate会话/模板返回null   java Bluetooth无法连接到OBD2   smartGWT中的行分隔符的java等价物?   java如何删除可执行路径错误   java使用ICE Tar库对大文件进行Tar   java Spring Boot/JavaFX:添加一个仍然可以访问JPA的关机挂钩(ctrlc)   使用输入流读取java属性文件   如何在Java中迭代HashSet元素时覆盖该元素   内容类型中的javascript set charset=“utf8”   使用cassandra触发器的java   用户界面什么是适合我的GUI(JAVA)的update()方法   Java实例控制   java前置摄像头无法在不同设备上工作   java方法组织。postgresql。jdbc。连接。createClob()尚未实现