汇川技术PLC应用逻辑编程技巧(3)状态转移法、功能分块法编程
哈喽,你好啊,我是雷工!
最近在看汇川PLC应用编程技巧逻辑篇,前面已经记录了两篇笔记。
PLC应用逻辑编程技巧(1)
PLC应用逻辑编程技巧(2)
接下来接着学习相关内容,以下为学习笔记:
01 状态转移法编程
啥是状态转移法?像前边记录的《InoProShop流水灯控制练习》中那样按设备的运行过程分解为若干个状态,
一个状态一段程序,用状态之间的流转,执行不同的程序段;
例如:
CASE 状态变量 OF
0:状态1的程序片段
1:状态2的程序片段
……
END_CASE
实现的就是状态转移法编程。
02 状态转移法编程的好处
①:可以一个状态一个状态的编写,需要实现的功能明确且清晰;
②:调试时便于验证,将状态变量强制为需要的状态值,就可以反复验证其功能,直到调试正常;
③:便于增加新的状态程序,不影响已经调试好的程序,不用返工(像是一锅煮,所有程序都放在一起的,稍微一改动,就可能影响已经调好的程序);
④:整机连腿时,便于定位出现异常的程序段;
⑤:便于触摸屏显示设备的运行状态,出现异常,可快速定位异常位置;
⑥:控制器同一时间只执行一个状态对应的程序,不会扫描所有的程序语句,执行效率更高;
⑦:与③类似,新增功能时,不仅不影响之前调好的程序,而且更便于添加;
⑧:程序清晰,便于理解和维护程序;
总结来说此种编写方式,有利于程序的编写、调试、能够提高开发效率,可以增强程序的可读性。
03 功能分块法编程
首先通过我们生活中常见的电梯,使用垂直电梯控制问题引出该方法。
3.1、电梯控制增强功能
现如今随着电梯的普及与发展,除了基本的功能,有了很多新的控制需求,例如要求实现如下功能:
①:为了复用性,要求一套控制程序,只修改所安装大楼的楼层层数,就能适应对应的楼层控制;
②:要求可以在线禁用某些楼层,使电梯不在禁用楼层停留;
③:要求实现多种模式切换满足不同应用场景,例如自动/手动/检修/消防等模式;
④:群控功能,像居民楼的两梯,或商业写字楼的六梯,为了避免多个电梯响应同一个指令,要求实现自动协调响应;
⑤:权限管理:现如今为了安全增加了门禁卡,要求刷卡才能使用电梯到达指定的楼层,可以自由吓到一层等权限控制;
⑥:人性化功能:多梯群控时,如果楼层召唤等待时间超过某个时常,空闲电梯主动响应;空闲一定时间后,自动运行到1层等待;当误操作时,允许通过双击或长按取消目标楼层;
当使用没举行的电梯控制程序,想要增加上述的这些增强功能时就比较困难,此时就需要更加合理的程序框架。
采用功能分块的编程框架就能够很好的简化上述问题。
04 后记
以上为PLC编程技巧中关于状态转移法的好处介绍,以及通过电梯控制问题引出功能分块编程法,
有记录不准确的地方欢迎各位读者大佬在留言区留言指正,更多话题也欢迎在交流群多多交流。
后续接着记录如何分功能块来简化程序,解决电梯增强控制功能。
S7-1200 PLC的转换操作指令,你能说出几个?
前面给大家介绍了移动操作指令,接下来就接着介绍一下转换操作指令吧,S7-1200 PLC的转换操作指令也包括有数据类型的转换指令、实数转整数指令、以及用于缩放和标准化指令。
在我们S7-1200 PLC中,转换指令就是CONVERT,我们可以在指令中更改数据类型,相当于所有的转换指令都集合在这个CONVERT指令中,而对于S7-200/200 SMART PLC的转换指令是比较多的,我们需要哪个类型的转换指令就调用哪个指令,不能更改指令的类型,大家在学习的时候可以对比着学习,下面我们就介绍一下S7-1200 PLC常用的移动指令吧。
1、转换指令CONVERT
转换指令是将一种数据类型转换成另一种数据类型的,使用的时候单击指令“???”的位置,然后在下拉列表中选择输入数据类型和输出数据类型。
CONVERT指令支持的数据类型包括有整数、双整数、实数、无符号短整型、无符号整型、无符号双整型、短整型、长实数、字、双字、字节、BCD32等,比如INT TO DINT就是表示把整数转换成双整数。
IN管脚是输入要转换的数据,OUT管脚是转换后的数据,在管脚输入数据类型的时候注意要跟设置的数据类型一致哦。
2、浮点数转整数指令
S7-1200 PLC的浮点数转换指令包括有四舍五入取整指令ROUND、向上取整指令CEIL、向下取整指令FLOOR和截取尾数部分取整指令TRUNC这四个,而S7-200/200 SMART PLC的浮点数转换指令只有ROUND和TRUNC,那么S7-1200 PLC的CEIL和FLOOR指令大家可以着重了解一下,对比着学习效率更高哦。
这里还要提一下的是,前面所说的CONVERT转换指令也是可以实现浮点数转整数的功能的哦,具体想使用哪个指令就看你怎么选择了。
上图的程序中ROUND是对13.7四舍五入输出14,TRUNC是将12.5的尾数部分截取掉,取12进行输出,FLOOR是15.8向下取整变成15,CEIL是将12.4向上取整变成13。
3、缩放SCALE_X和标准化NORM_X指令
缩放和标准化指令通常配合使用来实现模拟量输入和输出的转换,模拟量的转换是有个对应的公式的,这两个指令其实也是根据如下这个公式而来的。
缩放指令SCALE_X用于按照参数MIN和MAX所指定的数据类型和值范围对标准化实参VALUE进行标定,OUT=VALUE*(MAX-MIN)+MIN,其中0.0<=VALUE<=1.0。
标准化指令NARM_X用于通过参数MIN和MAX指定的范围内的参数VALUE,把其标定在0%~100%范围内。OUT=(VALUE-MIN)/(MAX-MIN),其中0.0<=OUT<=1.0。
以上这两个指令主要是在模拟量控制中会有应用,如果是入门的学习可以先简单了解就可以,等之后学习到模拟量控制部分再来详细学习。
以上这些就是转换操作指令的介绍,转换指令在我们做一些运算处理的时候是会应用到的,除了缩放和标准化指令可以简单了解,其他的转换指令都是需要掌握的哦,大家记住了吗?
( 技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究 )
更多了解,点↓
相关问答
什么是plc转移条件?
PLC转移条件是在可编程逻辑控制器(PLC)编程中用来确定何时执行特定操作的条件。它们可以是逻辑条件、比较条件或计时条件,通常与PLC的程序周期性扫描相结合。...
plc程序转换了之后怎么修改?
1、如果是修改程序中的一个软元件,可以直接将光标定位到该元件,然后按键盘的DEL键。2、删除软元件后不动光标位置,然后直接在此时输入要修改的软元件,必须改...
PLC是怎么把电源变成信号的?
PLC的工作过程:(以S7300为例)1.操作系统启动循环时间监控2.CPU将输出过程印象区的数据写到输出模块3.CPU读输入模块的输入状态,并存入输入过程印象区4.CPU处理...
plc转换开关怎么用?
转换开关给plc的也是开关信号,接plc的输入,根据输入的状态,通过编程让不同的输入执行不同的程序内容,来实现转换的功能。而开关量输入信号在程序里也就是常开...
plc十六进制怎么转ascii码?
要将PLC的十六进制转换为ASCII码,可以使用编程语言实现。首先,将PLC的十六进制数值转换为十进制数值。然后,将该十进制数值转换为对应的ASCII字符。具体转换方...
plc在线修改程序怎么写入?
PLC(可编程逻辑控制器)的在线修改程序的方式取决于所使用的PLC品牌和型号。以下是一般的步骤:1.连接至PLC:使用PLC编程软件将您的计算机与PLC连接。通常,...
plc如何传送信号模块?
PLC(可编程逻辑控制器)传送信号模块是通过输入和输出模块来实现的。以下是一般步骤:输入模块:将外部传感器或开关的信号连接到PLC的输入模块上。输入模块接...
三菱plc中程序转换?
梯形图转sfc,为什么转不成sos21,,s22这样呢?梯形图转sfc,为什么转不成sos21,,s22这样呢?
plc输出电压转换?
简单点说,可以转化一下,用一个24v的接触器把plc输出接到接触器的电源上控制接触器,然后用一个5v的电源接到接触器的常开的一端,芯片接另一端就可以了。简单...
plc中int怎么转换为word?
plc中int转换为word方法:(1)工程---->打印机设置设置成PDF打印机。(2)工程---->打印---->选择“梯形图”选项卡(里面很多选项卡,要仔细找)...