结构体变量与功能块的综合使用,带你体会PLC结构化编程的实现
前面几篇文章小编给大家介绍了三菱FX系列PLC的结构化编程,介绍了结构体变量和功能块的使用,对于习惯了三菱PLC简单工程的朋友们可能很不适应,而且文章写的都比较笼统,今天就介绍一个简单的实例。
现在有十个三相异步电动机,要求编程实现电机的启动停止。
传统的控制方式一定是这样的
图一
相信大家对这样的三菱PLC一定不会陌生,限于篇幅,我只写了四个电机的控制。三菱PLC的这种简单工程模式,直观易懂,非常傻瓜化,只要智商正常,都能看得懂,因此被冠以直观易懂,符合东方人思维的特点(但小编我觉得这是在侮辱国人的智商)。这种编程方式繁琐,而且浪费纸,对于大型工程或是复杂工艺计算,以及运动控制,那可是要死人的。那么用结构化编程怎么实现呢?
分析: 控制十台电机的启停,那么启停控制就是十台电机都要用到的,我们可以做成功能块,反复调用。
每台电机都有启动,停止两个操作,我们可以定义为结构体变量。
首先,我们先创建一个电机控制的功能块 Motot_Control
图二
如 图二所示,就是创建好的功能块Motot_Control。在这里,小编是用ST语言编写的。关于ST语言在PLC编程中的好处,小编不再重复,希望大家多多体会。
接下来,我们就要在程序中调用功能块了,由于是十台电机,因此需要调用十次
图三
如图三所示,这就是我们在程序中调用的功能块,同样限于篇幅,小编我就只调用了四个。和图一的简单工程梯形图相比,是不是简洁多了?注意看黄色荧光笔部分,这部分称之为功能块的实例名,是什么意思呢?因为在IEC61131-3标准中,功能块也当做是一种变量类型,也是需要定义的,也就是俗称的功能块型变量,在西门子博途中称之为背景数据块。
图四
如图四所示,我们在程序中插入的四个功能块,都被自动定义成了变量。
接下来,我们就建立结构体变量了
图五
如图五所示,这就是建立好的结构体变量Motor,注意看,它是支持中文的!是不是很赞!
建立好了结构体变量,我们就可以在全局变量中定义并使用了
图六
如图六所示,我们定义了四个结构体型变量,名字分别为 电机1,电机2,电机3,电机4.注意看它们的类型,都是Motor型。接下来,我们就可以直接使用定义好的变量了
图 七
如图七所示,这就是最终的程序,和使用简单工程相比的图一,是不是更简单明了,而且更加的高效?
总结:本文所举的例子比较简单,可能还体现不出结构化编程的优势,本文旨在让大家体会结构化编程的思维方式。毕竟,基于IEC61131-3标准是PLC的发展方向,是大势所趋。台达PLC,欧姆龙PLC,松下PLC,三菱PLC,富士PLC这些日系PLC都推出了基于ICE61131-3标准的PLC产品,可见,连小日本都觉得简单工程的方式已经没了前途,如果你还抱残守缺,故步自封,不思进取,天天以入门简单来麻醉自己,你也就基本看不懂手表了。
PLC自由通讯口设置
本文以施耐德的SoMachine为例介绍以ICE61163-3为编程标准的PLC编程软件自由通讯口设置。这是以PLC作为数据采集对象常用的通讯方式。
1 设置自由口通讯参数
使用SL1端口,进行基本参数设置
例如M218PLC有SL1和SL2两个串行通讯口,我们选择其中的SL1作为目标对象。SL1采用RJ45接口,制作连接线时注意引脚关系以及电缆屏蔽。
2接收数据帧格式选择
可以选择起始字符和结束符的方式;可以通过判断数据帧长度的方式;可以通过帧收到超时(例如设置超时时间为5MS,则在收到最后一个字符后如果5MS内没有收到其他字符,则判断本帧结束)的方式判断帧的结束(实例中通过接收10个字节为一帧)
ASCII管理器的配置参数介绍
3发送寄存器定义为字节的格式
程序及相关数据,使用SEND_RECV_MSG功能块。X5和X7定义为BYTE类型的数组。(ADDM和SEND功能块说明见对应文章)
4设置发送(示例格式为16进制)
X4=16#0A字节数,发送数据为X5数组里的10个字节
5设备收到的数据
如下图所示,接收到的十个字节即为数组X5的十个字节
6设备发送的十个字节数据
7PLC收到的十个字节保存在接收区X7的是个寄存器中
注意:如果将发送寄存器设置为INT格式,例如发送字寄存器数据16#1234,则设备收到的顺序为16#3412,即高低字节顺序问题。
相关问答
欧姆龙接近开关在PLC上面的接法
通常楷应该是棕(+24V),兰(0V),黑(信号,接PLC输入)没有见过有绿色的,这也是算通用标准Icecream05131天前扩展回答1开关插座欧姆龙的牌子好吗看别人用他家的...
我的笔记本电脑CPU处理器是英特尔酷睿2双核T7100@1.80GH...
回复5ice_1164位处理器有用(0)回复zhangxue575315232位,兼容64位有用(0)回复T系列CPU规格表CPU型号CPU核心代号制造工艺二级缓存容量主频...
老牌的隧道PLC控制箱厂商报价,隧道PLC控制箱买哪个牌子好??
[回答](1)、应用领域:PLC最初的设计目标只是替代复杂的继电器电路,DDC最初只用于工业自动化仪表;PLC强调通用性,DDC强调专用性;PLC应用在工业控制领域,DDC...
去网吧用身份证上网随后要用手机获取上网密码是不是任何一...
icepunk不需要,一张电信的无线上网卡就类似于一个手机卡,但是如果你想用无线...肿么编程读取带有以太网的PLC的MAC地址9656浏览6回答ZOL问答手机问题详...
什么是货币经纪公司货币经纪公司可以炒外汇么-汇财吧专业问...
[回答]貌似货币经济公司不能从事金融机构间资金融通业务吧,金融机构间资金融通业务应该由银行完成吧。但是外汇交易业务应该是可以的。此外,成为首批试点...
各位大仙!有谁知道在线等!稳重的同步油缸一价到底,同步油...
[回答]同步阀即分集流阀(亦称同步阀),其作用是在液压同步系统中控制两个油缸或液压马达使其保持同速运动。两个油缸间速度差(同步误差)≤3%,到终点时滞...
全自动定量包装秤和半自动定量包装秤有什么区别?准自动定量...
[回答]是做同行的,一般都会想到无锡市麦杰自动化包装科技有限公司把?无锡麦杰机械自动包装秤拥有高素质的自动包装秤系统安装团队、反应迅捷的售后服务团...
哈尔滨学前教育学校,黑龙江哈尔滨学前教育学校有哪些
[回答]黑龙江哈尔滨学前教育学校,黑龙江学幼师、幼教技术学校有哈尔滨新东方烹饪技工学校,是经黑龙江省哈尔滨市劳动和社会保障局批准专业学校,初高中可以...