python与西门子1200通讯_西门子S7-1200的以太网通信
Python实现PC与S7-1200的通信
Debian的环境搭建
安装Anaconda Python发行版,本人安装的是python3.6版本。西门子通信协议S7comm
S7Comm以太网协议基于OSI模型,这里对OSI七层网络模型做出介绍:
协议结构:
OSI模型 协议
应用层 S7 communication
表示层 S7 communication(COTP)
会话层 S7 communication(TPKT)
传输层 ISO-on-TCP (RFC 1006)
网络层 IP
数据链路层 Ethernet
物理层 Ethernet
第1~4层为底层驱动程序,由计算机本身完成;第5层TPKT,应用程数据传输协议,介于TCP和COTP协议之间,这是一个传输服务协议,主要用来在COTP和TCP之间建立桥梁;第6层COTP是 OSI 7层协议定义的位于TCP之上的协议,COTP 以“Packet”为基本单位来传输数据,这样接收方会得到与发送方具有相同边界的数据;第7层,S7 communication,这一层和用户数据相关,对PLC数据的读取报文在这里完成。
这里,TPKT的作用是包含用户协议(5~7层)的数据长度(字节数);COTP的作用是定义了数据传输的基本单位(在S7Comm中 PDU TYPE:DT data)。
顶层协议:
S7 communication包含三部分:1-Header;2-Parameter;3 – Data。
这里通过实验来对S7 communication做出介绍:
(1)Header
Protocol Id:S7 communication的协议ID号为0x32
ROSCTR: 这里为Job(1)--工作请求
Redundancy Identification:冗余识别
protocol data unit reference:协议数据涉及单元
Parameter length:这里为读取Q0.0单元,参数长度为14
Data length:因为不涉及写操作,所以为0
(2)Parameter
Parameter:这里为读取数据
Function:读取功能码为(0x04)
Item count:读取地址个数
(3)Data
在读操作时,Data报文未存在。S7Comm以太网通讯过程
计算机与1200PLC进行S7Comm以太网通讯,需经过三个过程:
(1)“握手”
当PC与PLC通过Socket建立链接时,会进行“三次握手”,这是标准的TCP连接方式;这个过程会有Socket自动完成;
(2)通讯请求
在“握手”之后,并不能马上进行数据交换,还需要"通讯请求"过程。这个过程包含两次报文交换:PC 发送COTP报文给PLC,PLC反馈COTP报文,包含“连接确认”;
PC 发送S7Comm报文给PLC,PLC反馈S7Comm报文。
交换数据
数据读写就在这个过程内完成。我们可以组织报文来实现我们需要的功能。这个过程内的报文是S7Comm格式。具体实现时,需要对S7Comm中的第5、6、7层进行编程。
python与西门子1200通讯_西门子S7-1200的以太网通信相关推荐
- python 西门子触摸屏通讯_西门子触摸屏以太网通讯设置
西门子的触摸屏用MPI口进行OS更新或程序的上传下载,速度都太慢了,要两三个小时,是否以通过以太网进行更新?那通信电缆是怎么制作的呢? 答:首先,您用什么屏?是否带有以太网功能(是否有网线接口)? 有 ...
- python 西门子触摸屏通讯_详解博途编程实现S7300与西门子触摸屏通讯
目前国内流行用昆仑通泰或者威纶通触摸屏做项目,一方面价格便宜,另一方面编程简单.但西门子屏也经常会被用到,所以不得不学.简单写一下会用博图建立西门子触摸屏和S7300PLC的通讯. 西门子触摸屏和PL ...
- python 西门子触摸屏通讯_实例讲解博途编程实现S7300与西门子触摸屏通讯
原标题:实例讲解博途编程实现S7300与西门子触摸屏通讯 目前国内流行用昆仑通泰或者威纶通触摸屏做项目,一方面价格便宜,另一方面编程简单.但西门子屏也经常会被用到,所以不得不学.简单写一下会用博图建立 ...
- 西门子滚筒洗衣机教程_西门子洗衣机怎么样 西门子洗衣机哪款好
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...
- 西门子array数据类型_西门子S71200之间以太网通信(图文)
西门子S7-1200之间以太网通信 一.通信前的准备 首先创建新项目,并命名为"s7-1200之间通信",如下图所示: 然后组态设备,选择s7-1200的CPU 1214C DC/ ...
- 查看PLC IP 端口_详解S7-1500的以太网通信数据类型:TCON_IP_v4
西门子S7系列PLC的开放式以太网通信过程包括如下几个步骤:建立连接(Establish connection).发送/接收数据(Send/receive data).断开连接(Disconnect) ...
- python 西门子触摸屏通讯_触摸屏通讯
wincc flexible是可以打开Protool 做的程序的,也可以向触摸屏下载画面. 下载线是RS232,但需要符合下面的接线规则,也可自己做: 2----3 3----2 4----6 5-- ...
- python 西门子触摸屏通讯_实例 | 博途V15 西门子S7-1200与触摸屏通信详解
1. 创建项目 创建名称为PLC_HMI 2. 添加PLC添加一个PLC到项目中 3. 添加HMI,添加一个HMI到项目中,不根据HMI设备向导设置,点取消 ,然后确定 ,这样子就添加了一个触摸屏HM ...
- python 西门子触摸屏通讯_触摸屏与PC机通讯
你触摸屏里的设置呢,IP设置是否一样啊. 回答者: aa13123 - 中级工程师  第10级 2020-02-10 07:49:34 本回答有2位钻石用户推荐 回答者 ...
- 西门子1500通讯与西门子1200通讯(1)
主站为西门子1500,两个从站为西门子1200! 任务要求:通过主站plc控制从站plc输出 1.第一步 主(192.168.0.20)从站一(192.168.0.21),从站二(192.168.0. ...
最新文章
- joomla3.6.5 nginx下 前台页面404错误
- python django部署docker_centos利用docker部署django项目
- python调试_Python 调试
- Oracle中的sequence对象
- selenium+python自动化82-只截某个元素的图
- Laravel使用腾讯云COS服务
- 继电保护原理6-发电机保护
- CentOS7将home目录下中文目录改为英文目录
- 笔记本什么都没开,风扇为什么一直转?——CDPUserSvc服务
- 鱼塘钓鱼 优先队列 多路归并排序 贪心
- 软件测试价值观-SMBT新理念
- 细数SuperComputer最新排名和常见Benchmark类型
- 阿里云域名使用cloudflare的DNS解析隐藏真实IP
- 阿里云学生成长计划续费资格考试
- css3探测光圈_CSS3光圈散开提示效果
- linux--Flex and Bison
- nginx的作用及原理(一)
- SpringMVC 的核心组件有哪些?
- 生产环境容器落地最佳实践 - JFrog 内部 K8s 落地旅程
- php 206实现微信浏览器,PHP实现限制页面只能在微信自带浏览器访问的代码