S7-1200 PLC的移动操作指令介绍
前面给大家介绍了数学函数指令,接下来就接着介绍一下移动操作指令吧!
S7-1200 PLC的移动操作指令也包括有多个(如下图),不过这里我们不会所有的指令都介绍一遍,这里就介绍一些常用的移动操作指令,比如移动值指令MOVE,可以说是相当于我们说的传送指令,还有块移动指令MOVE_BLK、填充块指令FILL_BLK、交换指令SWAP、读取域指令FieldRead与写入域指令FieldWrit。
下面我们就开始讲解咯~
1、移动值指令MOVE
移动值指令MOVE,就相当于是我们S7-200/200 SMART PLC中的MOV传送指令,是用于对存储器进行赋值,或者把一个存储器的数据复制到另外一个存储器中,还可以用于清零功能。对于这个指令进行移动复制之后,源操作数的数据是不变的。
我们可以通过点击指令下方的增加管脚的按钮,增加一些输出管脚,这样就可以实现将源操作数的数据复制到多个目标操作数里面去。
对于移动值指令的操作数可以支持基本的数据类型、复杂的数据类型也是可以支持的,但是我们需要注意的是,如果使用复杂的数据类型时,我们需要保证源操作数和目标操作数具有相同的格式才行。
如果要把一个数组的数据复制到另外一个数组,我们需要保证两个数组的元素个数相同,元素的数据类型相同。
2、块移动指令MOVE_BLK
块移动指令是将源存储区的数据移动到目标存储区,注意是有多个存储器的移动,IN是源存储器的首个元素,COUNT是指定需要复制的元素个数,OUT是目标存储器的首个元素。
注意,这个指令只适合于数据块中的数组进行移动,如果需要对非数据块的存储器进行块移动是不能使用这个指令的,比如说将MB0~MB5的数据移动到QB0~QB5,这时不能使用MOVE_BLK指令。
上图的程序首先是创建DB块,再分别创建DATA和数据的数组,元素数为5个,即0~4,所以我们可以看到有以上这些数据,这个指令的功能是将函数DB块中的数组元素DATA[2]、DATA[3]、DATA[4]的数据分别移动到数组元素数据[0]、数据[1]、数据[2]中。
3、填充块指令FILL_BLK
填充块指令可以对数组中连续的元素写入相同的数值,比如对一个数组中的连续N个元素进行赋值或清零时可以利用这个指令去实现。IN是需要填充进入的数据,COUNT是存储器个个数,OUT是需要填入的第一个元素的地址。这个指令跟块移动指令一样,也是只适合于数据块中的数组中连续元素进行填充数据。
上图的程序是将20这个数组填充到函数DB的DATA[0]开始的数组元素的一共5个元素中取,监控的结果是DATA[0]、DATA[1]、DATA[2]、DATA[3]、DATA[4]里面的数值都是20。
4、交换指令SWAP
交换指令可以将输入操作数的数据的字节的顺序进行调换,也就是实现高低字节的交换,交换指令支持WORD和DWORD这两种数据类型。
我们可以监控指令的执行情况,可以以十六进制的数值显示,这样也方便我们去查看。比如16#1234,交换之后是16#3412,而对于16#12345678,交换之后是16#78563412,注意不是16#56781234哦。
5、读取域指令FieldRead和写入域指令FieldWrit
读取域指令和写入域指令主要是用于间接寻址的功能,可以用该指令对一个数组中的任意元素的值进行读取或写入的操作。
读取域指令用于根据指定的元素下标值,读取除对应元素的值,指令中的INDEX管脚是元素的下表值,为DINT的类型,MEMBER管脚是指定数组中的第一个元素地址,VALUE管脚用于存放读取出来的数据。
写入域指令用于根据指定的元素下标值,把VALUE的值写入到对应下表值的元素中,指令中的INDEX管脚是元素的下表值,为DINT的类型,VALUE管脚表示需要写入的值,MEMBER管脚是指定数组中的第一个元素地址。
不过过于博途V14以上的版本软件,对于数组的下标值可以通过变量进行表示,所以读取域指令和写入域指令使用得也比较少,大家了解一下有这样的指令就可以了。
以上这些就是移动操作指令的介绍,对于西门子S7-200/200 SMART中我们叫传送指令,包括有MOV、BLKMOV、SWAP指令,还有表指令FILL_N,其实跟我们S7-1200 PLC的这些指令的功能是差不多的,只是有一些小区别,不同的地方注意一下就可以咯。
移动操作指令部分我们就介绍完了,下一篇文章给大家介绍一下转换操作指令的使用,欢迎关注更新~
(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)
新手PLC项目调试七步法
一、按照图纸检查回路(未送电状态下)
一般PLC系统的图纸包含柜内图纸和柜外图纸两部分;柜内图纸指柜子内部的接线图;柜外图纸是所有接出电气柜的接线图。这一部分需要检查的是:
1、图纸设计是否合理,包括各种元器件的容量等等。
2、根据图纸检查元器件是否严格按照图纸连接。
在这一过程中,最需要注意的地方就是检查电源
1、确保回路没有短路。
2、确保强弱电没有混合到一起
因为PLC电源为24v,一旦因为接线错误导致220V接进PLC里,很容易将PLC或者拓展模块烧毁。
二、检查PLC外部回路,也就是俗称的“打点”
电源确认完毕后送电,测试输入输出点,这就是俗称的“打点”,测试IO点需要挨个测试,包括操作按钮,急停按钮,操作指示灯以及气缸及其限位开关等等,具体方法是一人在现场侧操作按钮等,另一人在PLC测监控输入输出信号;对于大型系统应该建立测试表,即测试后做好标记。如果发现在施工过程中有接线错误的地方需要立即处理。
这一步应该注意的是需要将程序备份后清空PLC里面的程序或者将程序禁用,避免因测试导致设备的动作。
三、检查机械结构并测试电机类负载
这一步需要检查机械结构是否紧固等等,电机类负载是否做好相应保护,避免因意外导致的事故,检查完毕后需要手动去测试设备运行,如正反转电机类,需要测试线路是否完好并带电试车,变频器类设置相应参数并进行电机优化,静态识别或者动态识别等。
这里需要注意的是对于一些特殊负载,比如说垂直类上下移动的负载需要由专业人员进行,以免因控制不当导致测试事故。
四、调试手动/半自动模式及相关逻辑关系
IO点和负载侧都测试以后,接下来要进行的就是手动模式下的调试。这里的手动模式也可以叫做半自动模式,不是用手直接去按动电磁阀或接触器等,而是指通过按钮或者HMI的按钮等去驱动设备,是与自动状态对应的。
手动模式的测试可以将自动模式按照人的意愿分解,方便测试程序。
这一环节最重要的是要测试安全功能,即在设备运行状态下测试急停,安全光栅等等的安全功能是否起到相应作用。
五、根据生产工艺调试自动模式
在完成半自动调试后,可进一步调试自动工作。这一环节是最重要的,需要根据生产工艺测试各种连锁,包括逻辑连锁,安全连锁等,而且要多测试几个工作循环,以确保系统能正确无误地连续工作。
六、特殊工艺的测试
PLC系统里除了逻辑控制,还有很多拓展出来的功能,比如说PID控制等,当这些逻辑调试基本完成后,可着手调试模拟量、脉冲量控制。
最主要的是选定合适控制参数。一般讲,这个过程是比较长的。要耐心调,参数也要作多种选择,再从中选出最优者。有的PLC,它的PID参数可通过自整定获得。但这个自整定过程,也是需要相当的时间才能完成的。
七、完成上述所有的步骤
整个调试基本算是完成了,接下来就到了预生产的步骤了,预生产是生产前的工作检测,在该阶段可以配合生产进行一些特殊的测试,比如说生产节奏是否满足,带载情况下安全功能还能否起作用等等,一般连续生产一定时间后就可以交工了。
新手尤其需要注意电源,记得我在多年前调试第一个项目的时候,因为施工单位将大皮带的拉绳开关的220V触点和24V触点接错了(皮带的拉绳开关为安全装置,两组触点,一组为220V断开控制回路,另一组为24V进入PLC),导致烧毁了一个数字量输入模板,后来就长记性了,再调试的时候一定分清220V和24V,就再也没出现过问题。
等等,先别划走!小编最后还给你准备了一份超值惊喜——西门子全套资料
相关问答
plc里的移动字节是怎么用?
关于这个问题,在PLC中,移动字节是一种指令,用于将指定字节中的位移动到另一个字节中。移动字节指令的语法通常为:MOVbyte1.byte2其中byte1和byte2是PLC中...
plc循环右移指令例子?
关于这个问题,假设PLC中DW0的初始值为0x12345678,执行循环右移指令后结果为0x91234567。循环右移指令的语法为:RORDn,#n其中,Dn表示要进行操作的数据...
请问下三菱PLC编程软件的通信端口怎样设置啊?就是设置COM几...
就是设置COM几的那个我刚买了个三菱PLC程序下载线USB接口的举报连接线亚马...你应该去查看你这根仿制的USB编程电缆在硬件管理器的端口中虚拟出来的端口号...
怎样在西门子plc程序中显示伺服移动的正负距离?
利用PTO/PWM这个向导生成的指令利用hsc0这个高速脉冲计数器就能看到正负正向加反向减利用PTO/PWM这个向导生成的指令利用hsc0这个高速脉冲计数器就能...
PLC,数据处理指令里面的移位是什么意思?
位移动就是数据移动,数据有8位,16位,,,等可以是本字节或双字节内的数据位移动,又分循环位移、线性位移如0000000100000010←数据向左移动一位1、移位...
plc控制轴移动位置偏位怎么处理?
如果PLC控制轴移动位置偏位,可以采取以下处理方法:1、检查传感器是否损坏或松动,重新调整位置;2、检查控制程序是否正确,修改程序错误;3、检查机械结构...
plc如何通过移位指令降速?
字节移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处...
plc左移位指令的用法?
PLC左移位指令用于将一个16位二进制数在内部进行左移操作,即将二进制数的每一位向左移动一位,最高位的进位会丢失,最低位会补上一位0。其用法为将要左移的二进...
plc八个灯循环指令有哪些?
移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处循环...
plc编程属不属于移动应用开发?
不属于,现在流行的移动应用开发一般是安卓不属于,现在流行的移动应用开发一般是安卓