python 网络通讯 plc_PLC与PC网络通信实验-程序员宅基地

技术标签: python 网络通讯 plc  

因项目需要PLC与PC连接,传输一些状态和控制信息。为了最快的响应速度,保险的方式是采用I/O直接连接。但这需要额外增加I/O卡,而且和PLC的I/O功能有些重复。那么,网络通信是否可行呢?本文将进行一些实验。

9d45f4a183d8

图:西门子S7-1200

概述

使用的PLC是目前主流的西门子S7-1200. 它支持的网络标准/协议很多,比如PROFINET, PROFIBUS等,还可以间接连接Modbus设备。每个标准下都有很多服务/协议,详情可以参考Communication with SIMATIC。但这些标准有些是用于西门子的设备互联的,不一定适用于PC。

下图是 TIA Portal V14 中通信相关的指令,也可以作为线索。

9d45f4a183d8

图:PLC通信指令

和PC的通信,一种方式是使用OPC server,但它是基于OLE/COM的,只能用于Windows。有些软件比如LabView提供了和西门子PLC通信的支持。跨平台的开源的方案,有一个是Snap7。我们可以先试试这个。另外可以尝试最原始的TCP协议。

Snap7

Snap7是针对西门子S7协议的。PLC不需任何配置就是S7的server,而我们只需要利用Snap7 lib,就可以让PC作为S7 client,读/写服务器端的数据块。

数据块映射

数据块分为输入区(DI, AI),输出区(DQ, AQ),程序数据块(DB)等等。下图中,DB3是测试程序的数据块。

9d45f4a183d8

图:数据块及监测值

用Snap7包中自带的(编译好的)测试程序可以查看/修改它的值。

9d45f4a183d8

图:Snap7测试程序

访问设置

在读写前需要进行配置和权限的设置:禁用块优化,给予完全访问权限,详见 Snap7的文档。

还有一个文档中没提到的设置&#x

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39922868/article/details/110167174

智能推荐

最近网络上很多都在聊自动阅读,今天我们好好说说自动阅读到底怎么样-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏9次。一、首先要先看自身适不适合做阅读。能不能做首先要先看你手上有没有资源,什么资源?人!为什么这么说?真正想做阅读的人,他首先碰到最棘手的事就是,我想搞100台机子,一台机子就要1个微信,那我就要准备100个微信可以给我用,这么多,天呐,要哪里来?还有流量问题要怎么处理?绑定头条的手机号又要去哪里找?没错,在你还没接触阅读之前,如果你解决不了这些问题。如果你又省不得从市面上用昂贵的价格收购的话,那么我可以非常清楚的告诉你!你放弃吧!并不是每个人都适合做阅读。那么这样的问题该如何解决呢?方案一(此针对有资_自动阅读

springboot设置默认值_如何设置Spring Boot中@RequestBody反序列化实体的默认值?-程序员宅基地

文章浏览阅读6.5k次。可以的在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内容转为a=1&b=2&c=3&d=4&e=5这样的格式传输过去,接收端则可以用javabean直接接收。还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需..._@requestbody 默认值

QT 开发COM(ActiveX)组件基础介绍和方案验证

在创建组件对象时,客户程序调用COM库中的函数进行组件对象的创建工作,COM库的创建函数根据注册表的信息并调用组件程序的入口函数来创建组件对象。COM 既提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语言,所以,COM也可以是不同语言协作开发的一种标准。当另外的组件或者普通程序(即组件的客户程序)调用组件的功能时,它首先创建一个COM对象或者通过其他途径获得COM对象,然后通过该对象所实现的COM接口调用它所提供的服务。

【渝粤教育】广东开放大学 现代企业管理 形成性考核 (51)_下列说法错误的是 选择一项: a. 定量订货方式适合于品种数目少但占用资金大的b类-程序员宅基地

文章浏览阅读7.2k次。选择题题目:技术装备程度低、用人多、产品成本中活劳动消耗比重大的企业,属于() 企业。题目:市场渗透战略是由企业现有产品和( )结合而成的战略.题目:某牙膏厂原来只生产两面针药物牙膏,现在又增加牙刷生产,这属于( )。题目:在波士顿矩阵法中,( )类象限是指那些相对市场占有率较高和市场增长率较低的经营单位题目:以下哪种不是宏观环境分析考虑的因素( )题目:在《竞争战略》一书中提出了著名的五种竞争力量模型.题目:事业部制的缺点是与统一指挥原则相矛盾,容易产生职责不清的现象_下列说法错误的是 选择一项: a. 定量订货方式适合于品种数目少但占用资金大的b类

C/C++中CRT_c++ crt-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏15次。本文转载自http://blog.sina.com.cn/s/blog_149e9d2ec0102wyvq.htmlCRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以..._c++ crt

C语言作业(四)-程序员宅基地

文章浏览阅读70次。【代码】C语言作业(四)

随便推点

Android -- 每日一问:介绍一下你经常浏览的 Android 技术网站_android 英文技术网站-程序员宅基地

文章浏览阅读1.3k次。每日一问:介绍一下你经常浏览的 Android 技术网站_android 英文技术网站

文本推理_CVPR 2020 | 细粒度文本视频跨模态检索-程序员宅基地

文章浏览阅读826次。本文介绍的是CVPR 2020的论文《Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning》(已开源),文章作者是中国人民大学博士生陈师哲同学,这项工作是陈师哲同学在澳大利亚阿德莱德大学吴琦老师组访问时所完成。作者|陈师哲编辑 | 贾 伟论文链接:http://arxiv.org/abs/2003...._细粒度跨模态检索

c#语言开发app,C#开发Android App--03--创建第一个app--Hello World-程序员宅基地

文章浏览阅读9.3k次,点赞8次,收藏39次。知识点:第一个app,显示Helloworld一、创建一个空项目创建项目启动 Visual Studio。单击“文件”>“新建”>“项目”以创建新项目 。在“新建项目” 对话框中,单击“Android 应用” 模板。将新项目命名为Hello(Phoneword是微软示例,本人太懒,不改了),然后单击“确定” : 在“新 Android 应用” 对话框中,依次单击“BlankA..._c#开发app

探索Camera2Demo:一款深入理解Android Camera2 API的开源示例项目-程序员宅基地

文章浏览阅读267次,点赞5次,收藏9次。探索Camera2Demo:一款深入理解Android Camera2 API的开源示例项目项目地址:https://gitcode.com/wangshengyang1996/Camera2Demo项目简介Camera2Demo 是一个由wangshengyang1996开发并维护的Android应用示例,旨在帮助开发者更好地理解和使用Android的Camera2 API。该项目通过提供..._android camera2 demo

iOS10 适配、Xcode8配置总结①-程序员宅基地

文章浏览阅读121次。2019独角兽企业重金招聘Python工程师标准>>> ...

微信API证书过期,获取API证书_微信 apiv3证书 过期-程序员宅基地

文章浏览阅读10w+次。在做微信如:(退款、企业红包、企业付款)提现这些操作的时候,微信返回(具体哪个字段我忘记了)的信息是:证书过期,那么就需要重新获取证书,证书的获取前提条件:1:你需要有微信商户平台的商户号(类似电话号码的数字),和商户名称(比如公司名称)2:按照官方说明文档进行相应操作即可(按照这个做就行了)http://kf.qq.com/faq/161222NneAJf161222U7fARv.h..._微信 apiv3证书 过期

推荐文章

热门文章

相关标签