一、比较指令
1、触点比较指令
![图片[1]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/d65905d312e063617ff809badbf1a9bd_fullsize1.jpg)
从上图的程序可以看出,每条指令占5个程序步,当D12的值等于25与D14的值小于等于D15的值,或者当D13的值不等于33与D14的值小于等于D15的值,Y0线圈得电。
2、比较指令
![图片[2]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/bb5a03a52f864c5c17c733f66cbf46a1_fullsize1-1.jpg)
在上图程序中当X0为1时,比较常数100与计数器C10的当前值,比较的结果送到M0、M1、M2中,当C10<100时,M0为1,当C10=100时M1为1,当C10>100时,M2为1。
3、区间比较指令
![图片[3]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/cf0bd7e12b6ed7d4a4dc8c7258679d0c_fullsize1.jpg)
上图的程序是一个压力显示的程序,D9压力检测的反馈值,单位为Kpa,设定的范围为2000~2500之间,当D9<2000时,M3为1,Y4以1s闪烁;当D9在2000~2500之间,M4为1,Y5得电;当D9大于2500时,M5为1,Y6以1s的闪烁。
还有浮点数的比较指令ECMP和EZCP,这里需要的注意的是浮点数是32位的,在指令前加D,即DECMP和DEZCP.
二、传送指令
1、传送指令
![图片[4]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/aa0f6c13c0d1561d2c4c699744bc4c77_fullsize1.jpg)
上图中的程序,当X0为1时,将X20~X27(K2X20)送到Y20~Y27(K2Y020),将T0的值送到D0,T0的常闭触点与T0组成一个脉冲发生器;M8012是周期为100ms的时钟脉冲,用来给计数器C200提供技术脉冲,将C200的32位计数值送到D2和D3组成数据寄存器中。
2、交换指令
![图片[5]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/81a056a892c854986590338313d4e955_fullsize1.jpg)
上图程序中,当X1为1时,D4和D5中的值互换。D6D7的值与D8D9互换。交换指令采用脉冲执行方式,否则在每一个扫描周期都要互换一次。
3、高低字节交换指令
![图片[6]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/82ec175767c936892ce2a05fb07fe4e7_fullsize1.jpg)
4、成批传送指令、多点传送指令
![图片[7]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/6a4a0d92e47de7596d59091407feefd3_fullsize1.jpg)
上图中程序BMOVP将D20~D23的值传送给D25~D28中去,K4代表位数。
FMOVP是多点传送指令,将5678常数送到D14~D18的5个数据寄存器中去。
三、数据转换指令
1、BCD转换指令、BIN转换指令
![图片[8]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/25da6e8ec7449ab7e3f8e651af17ee57_fullsize1.jpg)
上图程序,当X004为1时,将D0中的数据转换为BCD码,并送到Y20~Y37 4个七段显示
第二段:当X004为1时,将X20~X37的BCD拨码开关的输入转换为二进制数送到D1中。
2、格雷码转换指令
格雷码是一种特殊的二进制数编码,常用于绝对式编码器,其特点是它输出的相邻的两个二进制数各位中,只有一位的值不同,格雷码克服了相邻两组编码之间可能出现的读出不确定性,避免造成大误差。
![图片[9]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/fad9c58d0adbc14f1d676131eb664b4f_fullsize1.jpg)
四、移位指令和循环移位指令
1、循环移位指令
ROR循环右移指令和ROL循环左移指令,
![图片[10]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/5ab0363d75dca971b50914f558bc2c97_fullsize1.jpg)
![图片[11]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/a499af8a2e90e113c6f5ffd66a1313db_fullsize1.jpg)
举例说明:8位和16位彩灯循环移位控制程序
![图片[12]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/689d3e0656d8ea3f290c481b6b458a5b_fullsize1.jpg)
上图程序中第0行的意思是首次扫描M8002为1,将H0F0送到Y20~Y37,即点亮Y24~Y27。11行的意思:T0的常闭触点与T0形成1s的周期脉冲,15行的意思T0的常开触点每隔1s接通一次,ROR指令每隔1s使16位彩灯每s右移1位。
在三菱PLC只有16位和32位的循环移位指令,我们要做8位的循环移位,上图程序中当首次扫描M8002为1,第0行的mov指令将M11~M13为1,在21行的程序每s对M10~M25左循环移位一次,用SET和RST指令将M18的二进制数送到M10,用MOV指令将M10~M17的数值传送给Y0~Y7
![图片[13]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/fddcdd1093b517ee68063f556b35931b_fullsize1.jpg)
大家可以自己操作下试试。看别人做怎么都会,不自己操作一次永远都不是自己会。
2、位移位指令
SFTR和SFTL分别为右移和左移指令。
![图片[14]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/885591e34be2c19e120a45815189f0c5_fullsize1.jpg)
上图中程序的意思是将X1~X3送到M9~M7,M9~M7送到M6~M4,M6~M4送到M3~M1。K9为指定位元件组的长度,K3为指定移动位数。
3、成批复位指令
![图片[15]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/2f7b7b7551e9669616504d2d140830db_fullsize1.jpg)
上图程序的意思是当X1为1时复位D10~D19,复位Y20~Y34.
4、译码指令
![图片[16]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/6774707fc0d1bb8fcca3c3cc73650022_fullsize1.jpg)
上图中的程序的意思就是当X2为1,假设D0中的错误诊断程序给出的一个4位二进制数的代码,用来表示16个不会同时出现的错误,同过M0~M15(K4M0),用触摸屏的16个指示灯来显示错误,若D0的值为3,译码指令DECO将K4M0组成的字的第3位(M3)置为1,则触摸屏上仅M3对应的指示灯亮。仿真如下图
![图片[17]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/0cc500145d898a636348009edc40f05b_fullsize1.jpg)
![图片[18]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/c74fe63ebf64639beac93516d7d41aea_fullsize1.jpg)
5、编码指令
![图片[19]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/9f54d8a1c8e30ec5bf00e07651fa326d_fullsize1.jpg)
上图程序中的意思,K3代表源操作数M20为位软元件,即有8位(23),对于源操作数为D3字元件,即源操作数为D3为8位的字(23)
假设某系统有8位错误对应M区的M20~M27,地址越高的位错误的优先级越高,第76行的编码指令,将M20~M27(K2M20)中地址最高的为1的状态的位在字中的位数写入D2,假设M24和M27为1,而M27位数最高,编码指令完成后将位数7写入D2中。
![图片[20]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/bb5a03a52f864c5c17c733f66cbf46a1_fullsize1.jpg)
6、ON位指令、ON位判别指令和平均值指令、二进制开平方指令
![图片[21]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/90452071821f430d71c44fecb8125e13_fullsize1.jpg)
上图程序第一行:统计X10~X27中有多少位为1。并送到D5中去。仿真如下,
![图片[22]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/7c660ed3596b2442b0ff911b716a71f1_fullsize1.jpg)
程序第二行:当程序中的K4Y10的第9位为1时,即Y21为1时,M4为1.仿真如下:
![图片[23]-三菱PLC数据处理指令怎么用](https://www.plc0.com/wp-content/uploads/2024/11/864d8be61a3d62653b8bc19331dfb89e_fullsize1.jpg)
程序第三行;以前文章的例子中用过,就是对D6~D8的值取平均值送到D9中去。
程序第四行:对D20的数开平方,并将结果送到D21中。
总结不易,喜欢的小伙伴别忘记点关注,欢迎大家来评论和转发。你们的支持是我继续前进的动力。
请登录后查看评论内容