├── IEC_104_PLC_Simulator ├── doc │ ├── IEC104_frame_Info.md │ ├── InstallationError_Solution.md │ └── img │ │ ├── s_03.png │ │ ├── s_04.png │ │ ├── s_05.png │ │ ├── s_06.png │ │ ├── s_07.png │ │ ├── s_08.png │ │ └── title.png ├── readme.md ├── src │ ├── iec104Comm.py │ ├── iec104CommTest.py │ └── runTest.bat └── testCase │ ├── iec104PlcClientTest.py │ ├── iec104PlcServerTest.py │ ├── runIEC104PlcClientTest.bat │ └── runIEC104PlcServerTest.bat ├── LICENSE ├── Modbus_PLC_Simulator ├── Readme.md ├── example │ └── plcSimulatorTrain.py ├── src │ ├── __init__.py │ ├── modbusTcpCom.py │ ├── modbusTcpComTest.py │ ├── plcSimulator.py │ └── udpCom.py └── testcase │ ├── plcClientTest.py │ └── plcServerTest.py ├── OPCUA_PLC_Simulator └── src │ └── opcuaComm.py ├── Physical_PLC_Client ├── M221PlcClient.py ├── Python_PLC_Communication.pdf ├── S71200PlcClient.py ├── img │ ├── S7block.png │ ├── S7ipconfig.png │ ├── commit.png │ ├── ipconfig.png │ ├── ladderCfg.png │ ├── m221Plc.png │ ├── s71200Plc.png │ └── title.png └── readme.md ├── ProblemAndSolution.md ├── README.md ├── S7Comm_RTU_Simulator ├── Readme.md ├── WinOS_dll │ ├── 32bit │ │ └── snap7.dll │ ├── 64bit │ │ └── snap7.dll │ ├── snap7_32or64bit.zip │ └── snap7_64bit.zip ├── example │ └── rtuSimulatorTrain.py ├── src │ ├── __init__.py │ ├── rtuSimulator.py │ ├── snap7.dll │ ├── snap7Comm.py │ └── udpCom.py └── testcase │ ├── rtuClientTest.py │ └── rtuServerTest.py └── doc ├── IEC-60870-5-104_MCP.pdf ├── IEC-60870-5-104_SCP.pdf ├── Introduction.pdf ├── appxa-plc-master-slave.pdf ├── designDoc.pptx ├── img ├── FDIclock.png ├── OTlayer.jpg ├── OTlayer2.png ├── electiclSingalSimu.png ├── modbusPacket.png ├── overview.png ├── plcWorkflow.png ├── rtuWorkflow.png ├── s7commPacket.png ├── system.png ├── useCase1.png └── workflow.png └── python-snap7-readthedocs-io-en-latest.pdf /IEC_104_PLC_Simulator/doc/IEC104_frame_Info.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/IEC104_frame_Info.md -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/InstallationError_Solution.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/InstallationError_Solution.md -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_03.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_04.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_05.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_06.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_07.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/s_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/s_08.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/doc/img/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/doc/img/title.png -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/readme.md -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/src/iec104Comm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/src/iec104Comm.py -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/src/iec104CommTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/src/iec104CommTest.py -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/src/runTest.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/src/runTest.bat -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/testCase/iec104PlcClientTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/testCase/iec104PlcClientTest.py -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/testCase/iec104PlcServerTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/testCase/iec104PlcServerTest.py -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/testCase/runIEC104PlcClientTest.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/testCase/runIEC104PlcClientTest.bat -------------------------------------------------------------------------------- /IEC_104_PLC_Simulator/testCase/runIEC104PlcServerTest.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/IEC_104_PLC_Simulator/testCase/runIEC104PlcServerTest.bat -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/LICENSE -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/Readme.md -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/example/plcSimulatorTrain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/example/plcSimulatorTrain.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/src/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/src/__init__.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/src/modbusTcpCom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/src/modbusTcpCom.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/src/modbusTcpComTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/src/modbusTcpComTest.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/src/plcSimulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/src/plcSimulator.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/src/udpCom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/src/udpCom.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/testcase/plcClientTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/testcase/plcClientTest.py -------------------------------------------------------------------------------- /Modbus_PLC_Simulator/testcase/plcServerTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Modbus_PLC_Simulator/testcase/plcServerTest.py -------------------------------------------------------------------------------- /OPCUA_PLC_Simulator/src/opcuaComm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/OPCUA_PLC_Simulator/src/opcuaComm.py -------------------------------------------------------------------------------- /Physical_PLC_Client/M221PlcClient.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/M221PlcClient.py -------------------------------------------------------------------------------- /Physical_PLC_Client/Python_PLC_Communication.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/Python_PLC_Communication.pdf -------------------------------------------------------------------------------- /Physical_PLC_Client/S71200PlcClient.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/S71200PlcClient.py -------------------------------------------------------------------------------- /Physical_PLC_Client/img/S7block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/S7block.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/S7ipconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/S7ipconfig.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/commit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/commit.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/ipconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/ipconfig.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/ladderCfg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/ladderCfg.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/m221Plc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/m221Plc.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/s71200Plc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/s71200Plc.png -------------------------------------------------------------------------------- /Physical_PLC_Client/img/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/img/title.png -------------------------------------------------------------------------------- /Physical_PLC_Client/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/Physical_PLC_Client/readme.md -------------------------------------------------------------------------------- /ProblemAndSolution.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/ProblemAndSolution.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/README.md -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/Readme.md -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/WinOS_dll/32bit/snap7.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/WinOS_dll/32bit/snap7.dll -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/WinOS_dll/64bit/snap7.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/WinOS_dll/64bit/snap7.dll -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/WinOS_dll/snap7_32or64bit.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/WinOS_dll/snap7_32or64bit.zip -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/WinOS_dll/snap7_64bit.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/WinOS_dll/snap7_64bit.zip -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/example/rtuSimulatorTrain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/example/rtuSimulatorTrain.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/src/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/src/__init__.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/src/rtuSimulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/src/rtuSimulator.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/src/snap7.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/src/snap7.dll -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/src/snap7Comm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/src/snap7Comm.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/src/udpCom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/src/udpCom.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/testcase/rtuClientTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/testcase/rtuClientTest.py -------------------------------------------------------------------------------- /S7Comm_RTU_Simulator/testcase/rtuServerTest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/S7Comm_RTU_Simulator/testcase/rtuServerTest.py -------------------------------------------------------------------------------- /doc/IEC-60870-5-104_MCP.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/IEC-60870-5-104_MCP.pdf -------------------------------------------------------------------------------- /doc/IEC-60870-5-104_SCP.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/IEC-60870-5-104_SCP.pdf -------------------------------------------------------------------------------- /doc/Introduction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/Introduction.pdf -------------------------------------------------------------------------------- /doc/appxa-plc-master-slave.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/appxa-plc-master-slave.pdf -------------------------------------------------------------------------------- /doc/designDoc.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/designDoc.pptx -------------------------------------------------------------------------------- /doc/img/FDIclock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/FDIclock.png -------------------------------------------------------------------------------- /doc/img/OTlayer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/OTlayer.jpg -------------------------------------------------------------------------------- /doc/img/OTlayer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/OTlayer2.png -------------------------------------------------------------------------------- /doc/img/electiclSingalSimu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/electiclSingalSimu.png -------------------------------------------------------------------------------- /doc/img/modbusPacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/modbusPacket.png -------------------------------------------------------------------------------- /doc/img/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/overview.png -------------------------------------------------------------------------------- /doc/img/plcWorkflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/plcWorkflow.png -------------------------------------------------------------------------------- /doc/img/rtuWorkflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/rtuWorkflow.png -------------------------------------------------------------------------------- /doc/img/s7commPacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/s7commPacket.png -------------------------------------------------------------------------------- /doc/img/system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/system.png -------------------------------------------------------------------------------- /doc/img/useCase1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/useCase1.png -------------------------------------------------------------------------------- /doc/img/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/img/workflow.png -------------------------------------------------------------------------------- /doc/python-snap7-readthedocs-io-en-latest.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiuYuancheng/PLC_and_RTU_Simulator/HEAD/doc/python-snap7-readthedocs-io-en-latest.pdf --------------------------------------------------------------------------------