范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

西门子PLC的ModbusRTU通讯和轮询

  Modbus是PLC应用中常用的通讯手段,轮询是在进行一个控制器连接多个从站的通讯时常用的编程手段,由于ST语言在数据处理上的优势,此方法变得更为简单。下面以西门子S7 1214C PLC的ModbusRTU通讯为例,展现ST语言下的modbus通讯和轮询。
  电气论坛聚焦电气工程及其自动化行业干货,电工电气工程从业者的精神家园
  公众号 硬件连接
  要准备的硬件和软件:
  1.西门子PLC 1214C;
  2.通讯板CB1241;
  3.USB转RS485转换器;
  4.Modscan2/Modsim32电脑模拟软件模拟主/从站,
  5.SPU(serial port Utility),监视通讯报文。
  PLC作为主站,使用软件Modsim32模拟从站,使用两芯线(最好是带屏蔽双绞线)进行连接:
  硬件连接
  将通讯板的AB两端与转换器的AB两端进行连接,要注意AB两端区分正负极,反接不会烧坏设备,但是无法正常通讯。 编写程序
  1.设备组态
  在博图软件中配置西门子PLC和通讯板。modbus通讯需要设置波特率、数据位、停止位和校验位等通讯参数,在博图中的设备组态中设置此参数,主从站设置一致即可通讯。
  通讯参数
  设置波特率9600,数据位8位,停止位1位,无校验,在PLC离线模式下下载硬件组态。
  下载组态信息
  2.调用modbus功能块
  西门子的通讯一般都需要调用系统功能块,在"指令"-"通信"-"通信处理器"下可以找到modbus通讯功能块:
  通讯功能块
  可以看到这里提供两套modbus通讯模块,这两套都可以使用(暂不清楚具体的区别),本文选用的是下面的版本较低的模块。
  新建程序段,将配置模块MB_COMM_LOAD和主站模块MB_MASTER拖入程序中:
  调用功能块
  功能块调用后要对必要的引脚进行赋值,各个引脚的功能可以按F1查看,建立一个DB数据块,声明一些变量连接功能块的引脚:
  声明变量
  上面声明了两个容量为5的字数组,用于数据的发送和接受,这个容量可以根据需求任意设置。然后将这写变量写入模块引脚:
  模块赋值
  配置模块MB_COMM_LOAD的触发REQ只需要在连接时触发一次啊,因此直接将系统内置的变量"firstscan"写入即可,上电后执行一次。
  由于通讯的读和写都由主站模块MB_MASTER完成,因此我们对这个模块进行两次赋值,第一次实现读的功能,由modbus地址40100开始,读5个数据,写入"ModbusData".Read_Data中;第二次实现写的功能,将"ModbusData".Sent_Data中的数据写入由modbus地址40110开始的5个数据中。
  程序写到这里已经可以进行通讯了,如果想要在线实验一下,可以将变量写入监控表,手动触发读写触发引脚变量,观察模块的输出状态,这里就不演示了。
  3.编写轮询程序
  所谓轮询就是依次询问,假设我们有3个设备作为modbus从站,从站地址(站号)依次为1,2,3,使用case语句依次对这3个设备进行读写操作,而读出和写入的数据分别存入3套不同的变量当中。
  建立设备变量
  使用一个结构体来描述一个设备的所有信息,包括5个状态字(states:Array[0..4] of Word)和5个控制字(ctrl:Array[0..4] of Word),将结构体声明为数量为3的数组,存放3个设备的数据。
  在整个循环开始前,设定起始设备地址,然后按照"读操作触发,读数据,读设备地址+1,延时,写数据,写操作触发,写设备地址+1,延时"的顺序持续循环,按照设备地址号选择上面的结构体变量:
  读操作
  iStep=0时,关闭读写触发,设定读写设备地址为1;
  iStep=10时,读操作触发,模块发出读数据命令,模块置位busy信号;
  iStep=11时,等待读操作完成,模块读到设备数据后会置位done信号,复位busy信号,根据信号状态将读到的数据(Read_Data)写入设备数据结构体(DeviceData.states),如果设备地址=1,则写入DeviceData[1].states,设备地址变化,写入的结构体也会相应的变化,保证不同设备的数据不会互相干涉。这里加一个判断,一段时间读不到数据返回10步骤重新进行读操作。
  iStep=12时,用计数的方式做一个简单的延时功能,避免因读写频率太快导致设备反应不过来。
  写操作
  向设备写入信息,在写入操作触发前要先将相应设备结构体中的数据(DeviceData.ctrl)写入发送数据缓存区(Sent_Data),然后再进行写操作,与读操作类似,写入完成后设备地址+1,跳转下一步骤。 运行程序
  将程序编译写入后重启PLC,可以看到通讯板的指示灯已经开始闪烁,而轮询步骤iStep始终在10,11两步,证明读数据命令已经发出,但是没有接受到设备的反馈,始终在进行第一个设备的读操作。
  虽然能够看到通讯灯在闪,但我们仍然不能直观的看到这个网络中的状态,这是就需要前面提到的SPU软件,监视串口网络中的报文。
  监视报文
  设定端口号,选择Hex数据格式,点击开始,可以看到当前网络中所有报文,根据modbus协议的规格(可以自行百度),可以判断这些报文就是plc发出的读命令。
  想要读到数据必须要有从站,我们使用modsim软件模拟出3个从站:
  modsim
  将3个模拟从站地址分别设为1,2,3,起始modbus地址与程序设为一致:40100,长度设为20,这样读写地址都能看到。点击connection设定通讯参数(波特率,数据位,停止位,校验位与程序中设为一致)。点击确定后能后看到通讯板和转换器的接受发送指示灯开始闪烁,程序中的设备地址也在1-3中循环变化:
  通讯指示灯
  由于动图的帧率选的较低,会漏掉几个灯的状态…
  变化的设备地址
  监看程序中设备地址,能够看到地址在1-3之间循环变化。可惜的是modsim与SPU不能共用一个串口,看不到modsim反馈的报文了。
  接下来我们在modsim中改变几个地址的值,看看PLC的设备数据结构体中能否进行相应的变化,将设备1的数据设定为:
  40100设置为110,
  40101设置为111,
  40102设置为112,
  40103设置为113,
  40104设置为114,
  设定数据
  数据设定后在PLC的DB块中监视DeviceData的值:
  读取数据
  可以看到DeviceData[1].states的值已经变化(16进制),而DeviceData[2]和DeviceData[3]并没有变化。
  下面进行写数据的验证,在程序中将DeviceData[2].ctrl任意赋值,然后再modsim中查看:
  写入数据赋值
  写入成功
  可以看到modsim 3中相应地址的数据也已经变化,而其他模拟设备中并没有改变。 其他
  在实际的项目中,例如变频器控制,通讯参数和数据地址一般都是设备(从站)规定好的,我们需要查阅设备手册,在程序中做相应的设置即可,通过通讯获取的数据可以有触摸屏显示出来,方便操作人员监控设备状态,也可以做一写判断,用于设备的报警等处理。

盘点NBA六大潜规则,姚明保罗霍华德都深受其害NBA有很多明文规定,比如赛场内的三秒违例以及赛场外的着装令等等,但同时NBA也有一些球员和联盟之间默认的潜规则,就比如以下这些!潜规则一球员禁止穿69号球衣!NBA一共有0到00构建监督合力提高审计质效黑龙江省牡丹江市审计局与市委巡察工作领导小组办公室联合印发关于建立市委巡察机构与市审计局协调协作机制的意见,明确双方建立健全信息通报共享机制动态协作配合机制成果移交机制及审计力量支人民日报每日摘抄勇敢的人不是不落泪,而是含着泪水继续奔跑的人。忆往昔,百年征程砥砺同心看今朝,千秋伟业催人奋进。青春的烦恼,只有成长能解决发展的瓶颈,只有成长才能突破。真理的波涛,喷涌而出就奔流不假如再回到2019年以前疫情三年,终于在这几天结束了,不是真的结束,而是重新给了我们自由。管控期间,我们足不出户,好想出去走走,居家的日子真心难熬。如今,各方面不受管制,可以随意走,大家更加担心了,让你回夜读识人低处评人高处用人长处是修养,更是智慧。识人看低处心理学上有一个概念叫光环效应,指的是如个体对他人的外表有良好印象,就会继而对他的人格品质倾向于肯定评价,好比将光环套在一个人身上。但这其实是一种以偏概全澡雪文王优雪该至未至,梅将花未花。薄薄的晓雾里,道旁一晃而过的草木清清爽爽,枝叶上亦不见朝露洇润的轻痕。晨气略寒,吹面并不觉得冷。大概夜间蓄养的暖,还没来得及从肌肤上散逸。只一会儿,看你的音量,暴露了你的修养你是否也遇到过以下不愉快的经历?当你在茶馆悠闲地品茶时,有人滔滔不绝地高谈阔论当你在咖啡厅认真工作时,有人无所顾忌的大声说话当你在餐厅安静地吃饭时,有人旁若无人地大声喧哗当你在书店护你安全,石龙开展化妆品线上净网线下清源专项行动你的面膜能不能使用,儿童护肤品是不是合格今年以来,为进一步整顿和规范网络销售化妆品市场秩序,严厉打击利用网络销售违法化妆品行为,规范网络销售化妆品市场监督抽检加强化妆品法律法规宣传冷门迭爆2022年安徽省高中传校第四比赛日战报今天2022年安徽省高中传校比赛进入淘汰赛阶段,八强队伍捉队厮杀,四场比赛有三场爆冷,和这天气很应景,像极了世界杯小组赛的冷门迭报!上午九点,A组第一的卫冕冠军蚌埠三中迎接C组第二再封看权游记临沂市工程学校郭远博2022年12月11日人生百态,四季轮回,初冬暖阳照耀大地,一切温馨甜蜜。经历封城又解封,纷纷世事皆看空,年轻时的梦想与壮志渐渐偏离了轨道,头发谢了春红,太匆匆加油!一研为定!距离2023年全国硕士研究生招生考试还有最后10天愿你稳住阵脚,全力冲刺我们,一研为定!不用感叹备考时光的流逝那些为考研奋斗的日子都是你对梦想的诠释坚持到现在你真的很棒!既然选择了
中老年的饮食中必须有牛奶,关乎着你的健康根据世界卫生组织年龄划分标准(2021),将4559岁的人群称为中年人,6074岁的人群称为年轻的老年人,75岁称为老年人。随着年龄的增大,身体机能会逐渐下降,对钙的吸收能力也会下专访南方科技大学前沿生物技术研究院院长朱健康企业应成为种业创新主体加强种质资源开放种子是农业的芯片,是保障粮食安全和实现农业农村现代化的基础。近期国家育种联合攻关工作推进会在北京召开,会议强调,要落实深入实施种业振兴行动决策部署,扎实推进国家育种联合攻关,加快培及时尽速保护老年人,关键在前一两天让中医中药在保护老年人的关键时刻尽一份力。老年人多伴随各种各样的基础病,所以各家各人保护老年人必须得重视起来。伤寒论有云,伤寒一日,太阳受之,伤寒两三日,阳明受之。而时疫病毒的变化科学防治更年期,女性健康6问要知道更年期又称为围绝经期,是女性自生育期的规律月经到绝经的过渡阶段,即从月经开始改变,到最后一次月经造访的12个月之后,这个阶段平均持续3到5年。在妇女进入更年期以后,体内器官的表现就文旅部旅行社导游应每日进行自我健康监测北京商报讯(记者关子辰张怡然)12月9日,文化和旅游部印发旅行社新冠肺炎疫情防控工作指南(第六版)等指南,要求旅行社规范导游防护。导游应接种疫苗,接种疫苗后仍需注意个人防护。导游应想要维护心血管健康?快来测测你的生命8要素能拿多少分?2010年,美国心脏协会(AHA)提出了促进心血管健康的简单生活7条,研究表明,遵循简单生活7条,能终身降低患冠心病等心血管疾病的风险。今年,美国心脏协会又在简单生活7条的基础上提传说仓央嘉措与情人约会的地方玛吉阿米住在布达拉宫,我是雪域最大的王流浪在拉萨街头,我是最美的情郎。仓央嘉措生于西藏南部门隅纳拉山下宇松地区乌坚林村的一户农奴家庭,1697年,仓央嘉措被选定为五世达赖的转世灵童,此时仓权臣纳兰明珠,一生三大功绩,三大罪名,善终纳兰明珠起点并不低,叶赫那拉氏,祖父是叶赫。那拉金台吉,叶赫部统领,金台吉的妹妹嫁给了努尔哈赤,生下了皇太极。明珠还娶了努尔哈赤之子阿济格的女儿为妻,如此说来,他与皇家是亲戚。即便与福建同名村庄广东湛江的福建村湛江市地名志是这么介绍福建村的福建村在赤坎区北部1公里处,属赤坎区。据传,古代方姓从福建莆田迁此,逐渐形成村落,故名。后又有黄姓迁居东北,取名西湖村,又名白沙团村,清代两村合并仍用殉葬的妃子们不愿死怎么办?古代君主权威最集中的体现就是普天之下莫非王土,率土之滨莫非王臣,然后还有一句就是君要臣死,臣不得不死,何况你只是一个普通的妃子呢?而且大家不要有一个误区,认为殉葬就是希望妃子能自愿诺贝尔奖之谜一一纪念瑞典化学家诺贝尔逝世126周年诺贝尔奖是当今世界上,对学者的最高褒奖,但在它设立之期,却伴随着一起激烈的家庭遗产纠纷。诺贝尔是瑞典化学家,他于1833年10月21日生于瑞典斯德哥尔摩,1896年12月10日卒于