Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >西门子1200通过串口通讯读取仪表数据过程记录

西门子1200通过串口通讯读取仪表数据过程记录

作者头像
剑指工控
发布于 2021-11-09 06:56:20
发布于 2021-11-09 06:56:20
2K0
举报
文章被收录于专栏:剑指工控剑指工控

JZGKCHINA

工控技术分享平台

尊重原创 勿抄袭

勿私放其他平台

整个通讯过程并不是很复杂,就是需要注意几个关键点。有几个地方需要做设置。对于第一次使用还是会耽搁不少时间的。

01

通讯基础

软件使用博图V14。硬件使用西门子1200系列具体1214C通讯模块使用的是CB 1241RS485的模块。

通讯指令使用的是MODBUS(RTU)指令。西门子有一个很大的迷惑点就是对硬件版本,软件版本的要求。

这个是我实际使用的通讯板。从博图软件看到的通讯板固件版本是V1.0并不是网上很多的说是要V2.0或者更高。只是很多写说明的自己都亲自测试。

02

通讯组态

本来通讯组态不是很复杂,就是有很多设置点留有多个接口点,但是只有一个起作用。这样就给初次使用者造成了很多的不方便。

1、通讯程序的模式选择

这个地方如果使用二线制半双工的话一定做这步设置。接线的时候只要把A,B两条线接到通讯板的A,B不需要接其它的端子。

2、通讯组态的初始化

使能端一直要使能。REQ第一次PLC上电脉冲触发一次,做个并联点主要是为了测试方便。PORT就是通讯板的标识号,可以在通讯板属性中查看。

接下来的就是 常规的串口设置参数,延时那个参数还是要注意,默认1000毫秒。最好不要改动。至于后边的通讯状态,错误提示,DONE还算是要根据自己项目需要做好参数配置。如果需要和多个从站设备通讯的话一定要根据这个做轮询驱动。以及故障判断。

这里面具体的含义西门子官网说的比较清楚。唯一需要注意的就是MODBUS通讯的几个关键要素。

波特率,奇偶校验,数据位,停止位,这里面有一个很操蛋的事情是波特率,奇偶校验在这个初始化里面就可以设置。但是停止位是用1位还是2位必须在"Modbus_Comm_Load_DB"这个DB块中设置。

STOP_BITS一定要到DB块中修改。

在这个里面的这个必须根据实际情况设置。

牢记,牢记,牢记。

再有就是

"Modbus_Master_DB".MB_DB

这个地方的设置还是需要注意一下,从看到的一些资料中这个地方的设置根据不同版本是不一样的。还有一个就是像我这样的小白最好是从列表中选择。只是一个指针,自己手动输入的话也要注意。错了就是红色字体提示。

03

主站编程

博图中的串口可以设置成主站,也可以是从站。一把是做为主站使用。读取其它设备。一般都比较好配置,使能一直给有,REQ接通的时候就读一次数据,如果是一台设备就好处理,不需要轮询。多台设备的时候就需要根据状态吗进行判断。轮询,以及故障的显示。简单的数据读取,就没有做复杂的编程。用系统变量,触发。MB_ADDR从站地址。MODE是读取数据还是写数据,0读取,1写入。DATA_ADDR是要读取的寄存器的起始地址,DATA_LEN读取的长度。可以根据实际情况设置,DATA_PIR是一只指针变量,一般使用DB块来存放数据。P#DB2.DBX0.0 WORD 14这个是指向DB2数据块中从0.0到14的WORD类型的存储区。

后面的输出端子就是主站通讯状态的一些判断。如果是和多个从站通讯的话需要根据这些变量来判断轮询。其中STATUS是一个很关键的数据,可以判断通讯的具体状态。一般显示7000或者7002,8000。这几个状态值在帮助中没有很详细的介绍。一般显示上面这几个值就能把数据出来。BUSY一般会在1和0之间闪烁。只要有闪烁就说明通讯是在进行,有时候有闪烁,但是没有数据,一般就去找停止位的设置。自己的体会。上面的配置完成后一把就可以把从站数据读取上来。

04

存储数据DB块的定义

读取的数据一般存储在DB块中。具体定义就在下面。就是定义了一对数组用来存放从站寄存器的数据,很多时候串口通讯的从站是16进制返回的数据,而且很多时候大端,小短与PLC的存储方式不一样,PLC一般是从低字节往高字节存放。但是很多仪表,计算机是从高字节往低字节存储。这个于存储设备的存储空间大小有很大关系。

按照实际需要设置好DB块,

DB块的属性中把优化的访问前面的√取消掉。

这样寻址好一点。经过这几步以后,一般能在DB块中看到数据变化。如果看到数据就说明通讯已经建立。数据流正常了。也就完成了很大一部分工作。

05

数据解析

这次碰到的是仪表数据是高低字节反着的。无法直接读取数据。也有很多仪表直接就可以显示仪表的数据,不需要任何变换。

数据交换西门子有一个指令,也很好。只是这次数据不多。就使用简单粗暴的方法直接MOVE指令搞定。哈哈。把DB块中的数据MOVE到MW区。高低自己颠倒一下。得到的MW区的数据就是仪表数据的正确顺序。

得到正确顺就可以对MW区的数据进行变换了。使用CONV指令进行变换。

得到的数据就是我们想要看到的数据,与仪表实际数据一致。

通讯的基本工作完成。方法简单粗暴。

小白可以看看。大神飘过即可。哈哈。

作者简介

张建鹏:

一个奔跑在工控路上的工控人。目前主要集中在边缘计算节点设备,做一些自动化系统集成。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Modbus RTU 通讯之西门子Smart 200
在工业自动化领域使用最多的免费通讯协议就是Modbus协议,而小型自动化领域西门子PLC也是占据了很大的份额。
剑指工控
2021/11/09
2.9K0
Modbus RTU 通讯之西门子Smart 200
西门子博途v14 SP1 S7-1200之间的以太网双边通讯
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。
剑指工控
2021/11/09
1.5K0
西门子PCS7系统中使用CP341实现MODBUS-RTU主站通讯的方法
1) PLC为 CPU414-5H 冗余PLC , CP341(使用IM153-2), CP341主站硬件狗 Dongle ( 6ES7 870-1AA0-0YA0 )
剑指工控
2021/11/09
7.5K0
博途S7-1200之间的MODBUS RTU通讯
S7-1200如果要进行MODBUS-RTU通讯需要安装CM1241 RS485通讯模块或者SB1241 RS485通讯板
剑指工控
2021/11/09
4.1K0
西门子1200与施耐德ATV610变频器的485通信
近些年的水处理行业,竞争压力日益增长,越来越多厂家也逐步进入了这个行业,并且以低价竞争。我们为适应市场规律,保证合理化的开源节流,也逐步对电气进行优化,原采用模拟量输入/输出控制变频器调试,慢慢切换成modbus 485通信。以下,跟大家分享一下,利用西门子1200系列对变频器通信的案例。
剑指工控
2021/11/09
3.9K0
国产远程IO模块与西门子1200通讯 试用记录
众所周知,2021以来工控产品因为疫情造成普遍缺芯,随之而来的,各工控产品一轮又一轮的涨价,并且货期的无法保证。作为西门子一款很受欢迎产品-ET200SP,价格也是飞涨,一个ProfiNet协议的适配器由平常的一千多涨到现在的一万多,甚至还不一定有现货。作为系统集成商是非常痛苦的。基于保证货期,并且保证性价比情况下,开始尝试了一下国产远程IO模块。
剑指工控
2022/06/06
1.5K0
国产远程IO模块与西门子1200通讯 试用记录
当西门子PLC遇到了python
随着工业自动化和信息化的不断发展,PLC(可编程逻辑控制器)已经成为工业自动化领域中不可或缺的关键设备。而在与 PLC 进行通讯时,Python 作为一种功能强大的编程语言,也越来越受到工程师们的青睐。因为 Python 在科技计算、数据处理、可视化等方面有着优秀的表现,并且通过 Python 与 PLC 进行通讯也是一种高效、灵活的手段。本次我们将介绍如何使用 Python 与西门子 PLC 进行通讯的方法和注意事项,掌握这种技能将有助于在工业控制及信息化方面有所应用,具有广泛的应用前景。
剑指工控
2023/08/31
9350
当西门子PLC遇到了python
【傻瓜教程】S7-200 SMART与西门子V20系列变频器USS通讯
此范例将向大家介绍如何应用S7-200 SMART 的 USS 协议对西门子V20 变频器进行通讯控制。使大家更加熟练的掌握和灵活的应用S7-200 SMART 的 USS通讯协议功能。
剑指工控
2021/11/09
6.5K0
S7-1200与西门子电磁流量计SITRANS F M MAG 6000 DP通讯
上星期接到去某污水厂调试加药项目的任务,总包要求流量计等仪表不仅要4-20mA模拟量信号,还要走PROFIBUS DP通讯读取仪表数据。S7-1200的 PROFIBUS DP通讯模块有主站与分站之分,不能选错型号,这里是要读取仪表数据(流量计作为从站),PLC是作为主站,所以应该选择CM 1243-5 主站通信模块(订货号:6GK7 243-5DX30-0XE0)。
剑指工控
2021/11/09
9970
西门子plc485通讯控制变频器_西门子300plc波特率怎么改
CHNetS7-S7300MD用于西门子S7-200/SMART S7-200/S7-300/S7-400/西门子数控840D、840DSL等PLC的以太网数据采集,非常方便构建生产管理系统。 CHNetS7-S7300MD不占用PLC编程口,即编程软件/上位机软件通过以太网对PLC数据监控和采集的同时,触摸屏可以通过扩展RS485口与PLC进行通讯。 CHNetS7-S7300MD支持工控领域内绝大多数SCADA软件,支持西门子S7TCP以太网协议和ModbusTCP协议
全栈程序员站长
2022/11/10
1.2K0
西门子plc485通讯控制变频器_西门子300plc波特率怎么改
S7-1500 CPU之间TCP通讯组态
S7-1500 与 S7-1500 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV) 指令来实现。通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。
科控物联
2022/03/29
3.4K0
S7-1500 CPU之间TCP通讯组态
轻松玩转USS
USS(Universal Serial Interface,通用串行通信接口)是西门子专为驱动装置开发的一种基于串行总线传输数据的通信协议。可将变频器与PLC或PC进行通信连接,并直观地实现对驱动器的监控。
剑指工控
2021/11/09
1K0
手把手教你两台西门子S7-1200之间的S7通信
S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
剑指工控
2023/08/31
3.1K0
手把手教你两台西门子S7-1200之间的S7通信
基于西门子S7-1500冗余PLC的污水处理厂自动控制系统
摘要:本文介绍了一种基于西门子S7-1500冗余PLC的污水处理厂自动控制系统,包括该项目的软硬件设计、上位机WINCC的应用以及网络结构。
科控物联
2022/03/29
3K0
基于西门子S7-1500冗余PLC的污水处理厂自动控制系统
Python入门到放弃(十三) | 西门子PLC变量读写
Python 诞生之初就被誉为最容易上手的编程语言。进入火热的 AI 人工智能时代后,它也逐渐取代 Java,成为编程界的头牌语言。
剑指工控
2021/11/09
1.9K0
西门子S7-1200与倍福PLC的PROFINET通讯(附案例下载)
打开TwinCAT3,选择菜单栏中“文件”>“新建”>“项目”,在新建项目窗口中,选择“TwinCAT Projects”,如图1-2所示
剑指工控
2021/11/09
3.7K0
光之掌控:西门子CPU状态与LED灯的关系
在现代工业自动化系统中,西门子可编程逻辑控制器(PLC)扮演着至关重要的角色。而识别和理解 LED 灯状态则是掌握 PLC 操作中不可忽视的关键。本文将探索西门子 CPU 与 LED 灯状态之间的紧密联系。
剑指工控
2023/11/15
6640
光之掌控:西门子CPU状态与LED灯的关系
西门子PLC学习笔记二-(工作记录)
本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力、压差、温度等的获取及显示、同一时候完毕电机的控制。
全栈程序员站长
2022/07/13
8000
西门子PLC学习笔记二-(工作记录)
巨控GRM300/311/321/333协议网关应用场景
巨控方案:使用GRM300系列网关,可以用2个串口接多个MODBUS从站,采集数据
工控小周
2022/09/19
9080
巨控GRM300/311/321/333协议网关应用场景
【傻瓜教程】Weinview 触摸屏与西门子V20系列变频器MODBUS通讯
此范例将向大家介绍如何应用 Weinview HMI 的 Modbus RTU 协议对西门子V20变频器进行通讯控制。使大家更加熟练的掌握和灵活的应用 Weinview HMI 的 Modbus RTU 通讯协议功能。
剑指工控
2021/11/09
4.2K0
推荐阅读
相关推荐
Modbus RTU 通讯之西门子Smart 200
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档