在本项目中, 如需将PLC 内时钟包含的时间信息用LED 数码管显示出来, 则可以使用数据转换指令来完成。 数据转换指令可对操作数据类型进行转换, 并将其输出到指定的目标地址。 数据转换指令包括数据类型转换、 数据的编码和译码及字符串转换指令。
图3-9-7 控制程序梯形图
(a) 主程序梯形图; (b) 子程序梯形图
1. 数据类型转换指令
PLC 的数据类型有字节、 字整数、 双字整数和实数, 数据类型转换指令可以将固定的一个数据用到不同类型要求的指令中。
1) BCD 码与字整数的转换指令
BCD 码与字整数之间的转换为双向转换, BCD 码与字整数的转换指令格式及功能见表3 -9 -6。 数据类型(IN) 的范围为0 ~9 999。
表3-9-6 BCD 码与字整数的转换指令格式及功能
2) 字节与字整数的转换指令
字节型数据是无符号数, 字节与字整数的转换指令格式及功能见表3 -9 -7。 ITB 指令中输入数据范围为0 ~255, 超出范围会造成溢出, 使SM1.1 =1。
表3-9-7 字节与字整数的转换指令格式及功能
3) 字整数与双字整数的转换指令
字整数(16 位) 与双字整数(32 位) 的转换指令格式及功能见表3 -9 -8。 DTI 指令中输入数据超出范围会产生溢出。
4) 双字整数与实数的转换指令
双字整数与实数的转换指令格式及功能见表3 -9 -9。 ROUND 指令和TRUNC 指令都能将实数转换为双字整数, 但前者将小数部分四舍五入, 而后者将小数部分直接舍去取整。 将实数转换为双字整数过程超出范围会产生溢出。
表3-9-8 字整数与双字整数的转换指令格式及功能
表3-9-9 双字整数与实数的转换指令格式及功能
2. 数据的编码和译码
在PLC 中, 字型数据可以是16 位二进制数, 也可以是4 位十六进制数。 编码就是把字型数据中最低有效位的位号进行编码, 而译码则是根据执行数据所表示的位号将所指定单元的字型数据的对应位置“1”。 数据的编码和译码指令包括编码指令、 译码指令、 七段显示译码指令。
1) 编码指令(www.xing528.com)
编码指令的格式及功能见表3 -9 -10。
表3-9-10 编码指令的格式及功能
2) 译码指令
译码指令的格式及功能见表3 -9 -11。
表3-9-11 译码指令的格式及功能
3) 七段显示译码指令
七段显示译码指令的格式及功能见表3 -9 -12。
表3-9-12 七段显示译码指令的格式及功能
LED 数码管(七段显示数码管) 各管脚与数字的对应关系见表3 -9 -13。 其中, 每段置1 时亮, 置0 时灭。 OUT 端输出的8 位数据码(a 为最低位, 最高位补0) 称为七段显示码。 例如, 显示结果0 时的赋值代码应为3F, 即数码管a ~g 各段的亮灭依次为011 1111 (g管灭, 其余各管均亮), 将高位补0 后为0011 1111。
表3-9-13 LED 数码管各管脚与数字的对应关系
3. 字符串转换指令
字符串转换指令是将标准字符编码ASCII 码字符串与十六进制数、 整数、 双整数及实数之间进行转换, 字符串转换指令的格式及功能见表3 -9 -14。
表3-9-14 字符串转换指令的格式及功能
续表
思考与练习
1. S7 -200 PLC 有哪几类I/O 扩展模块? 最大可扩展的I/O 地址范围是多大?
2. 用循环指令编写一段控制程序, 使4 个指示灯从左向右依次点亮(间隔时间为1 s),要求任何时刻只有一个指示灯亮, 到达最右端后, 再从左到右依次点亮, 每按动一次启动按钮, 循环显示10 次。
3. 跳转指令和子程序调用指令有什么区别?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。