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/
- 项目
标签: