通过实例玩转三菱PLC之多种工作方式的编程方法
看看较复杂的控制程序如何编程
1、控制要求
在前面文章我们做的用西门子来编写机械手程序,在西门子我们用两种方法来实现梯形图和GRAPH编程。今天来看看三菱PLC怎么编程。
简单回顾下功能说明:
如上图,机械手用来将工件从A运到B,操作面板如右图所示,Y4控制加紧电磁阀,为1时加紧工件,工作方式选择开关有5个位置,操作面板的6按钮是手动按钮,为保证在紧急情况下能可靠的切断PLC的负载电源,设置了交流接触器KM(如下图所示),运行时按下负载电源按钮,使KM线圈得电并自锁,KM的主触点接通,给外部负载提供电源,当紧急情况时,按下紧急停车按钮来断开电源。
工作方式有手动、单周期、单步、连续和回原点5中方式,
2、使用置位复位指令的编程方法
程序如下:
主程序 :
调用子程序
公用程序:
处理各种方式的都要执行的工作,以及不同的工作方式之间的相互切换处理。
左限位X1、上限位X3、夹紧阀打开Y4的常闭点构成原点条件M5。
若M5为0,将初始步M0复位,不能走自动程序。
当工作方式由自动改成手动或回原点,要用区间复位指令ZRST将除了初始步M0的所有步复位,即M20~M27.
在退出原点程序,将自动回原点的自动步复位M10~M15.
在非连续工作方式,将连续标志M7复位。
手动程序:不多说了按操作来执行
自动程序:
重点:这里连续、单周期和单步这3种工作方式采用连续M7和转换允许M6来区分的。
(1)单周期和连续的区分:在连续和单周期工作方式下,当X12的常闭触点接通,并转换允许M6闭合,则允许步与步之间正常转换。
在执行到M27时,若连续标志M7为on,则跳转回M20自动反复进行工作,若连续标志M7为0FF,则跳转M0.
(2)单步工作方式:当单步选择X12为ON,在第86步电路,转换允许M6在一般情况下为OFF,只在按下启动的第一个扫描周期M6为ON,执行到第89步,M20被置位为活动步,使M20带的Y1得电。
只有当再次按启动按钮后才能执行下一步。
回原点程序
重点是分了三种情况:
(1)夹紧装置松开:直接执行上升自动步,之后左行到左极限位。
(2)夹紧装置夹紧状态,并且机械手在右极限:执行B点下降-松开-上升-左行到左极限
(3)夹紧装置夹紧状态,并且不在右极限:先执行上升-右行-下降-松开-上升-左行到左极限。
到此一个多种控制方式的较复杂控制程序就编写完成了,大家是不是对使用置位复位指令来做顺序控制电路是不是有了一些掌握呢。
喜欢本文的朋友别忘记关注,点赞、评论和转发。
三菱PLC数据处理指令,通过几个例子看看数据指令怎么用
一、比较指令
1、触点比较指令
从上图的程序可以看出,每条指令占5个程序步,当D12的值等于25与D14的值小于等于D15的值,或者当D13的值不等于33与D14的值小于等于D15的值,Y0线圈得电。
2、比较指令
在上图程序中当X0为1时,比较常数100与计数器C10的当前值,比较的结果送到M0、M1、M2中,当C10<100时,M0为1,当C10=100时M1为1,当C10>100时,M2为1。
3、区间比较指令
上图的程序是一个压力显示的程序,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、传送指令
上图中的程序,当X0为1时,将X20~X27(K2X20)送到Y20~Y27(K2Y020),将T0的值送到D0,T0的常闭触点与T0组成一个脉冲发生器;M8012是周期为100ms的时钟脉冲,用来给计数器C200提供技术脉冲,将C200的32位计数值送到D2和D3组成数据寄存器中。
2、交换指令
上图程序中,当X1为1时,D4和D5中的值互换。D6D7的值与D8D9互换。交换指令采用脉冲执行方式,否则在每一个扫描周期都要互换一次。
3、高低字节交换指令
4、成批传送指令、多点传送指令
上图中程序BMOVP将D20~D23的值传送给D25~D28中去,K4代表位数。
FMOVP是多点传送指令,将5678常数送到D14~D18的5个数据寄存器中去。
三、数据转换指令
1、BCD转换指令、BIN转换指令
上图程序,当X004为1时,将D0中的数据转换为BCD码,并送到Y20~Y37 4个七段显示
第二段:当X004为1时,将X20~X37的BCD拨码开关的输入转换为二进制数送到D1中。
2、格雷码转换指令
格雷码是一种特殊的二进制数编码,常用于绝对式编码器,其特点是它输出的相邻的两个二进制数各位中,只有一位的值不同,格雷码克服了相邻两组编码之间可能出现的读出不确定性,避免造成大误差。
四、移位指令和循环移位指令
1、循环移位指令
ROR循环右移指令和ROL循环左移指令,
举例说明:8位和16位彩灯循环移位控制程序
上图程序中第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
大家可以自己操作下试试。看别人做怎么都会,不自己操作一次永远都不是自己会。
2、位移位指令
SFTR和SFTL分别为右移和左移指令。
上图中程序的意思是将X1~X3送到M9~M7,M9~M7送到M6~M4,M6~M4送到M3~M1。K9为指定位元件组的长度,K3为指定移动位数。
3、成批复位指令
上图程序的意思是当X1为1时复位D10~D19,复位Y20~Y34.
4、译码指令
上图中的程序的意思就是当X2为1,假设D0中的错误诊断程序给出的一个4位二进制数的代码,用来表示16个不会同时出现的错误,同过M0~M15(K4M0),用触摸屏的16个指示灯来显示错误,若D0的值为3,译码指令DECO将K4M0组成的字的第3位(M3)置为1,则触摸屏上仅M3对应的指示灯亮。仿真如下图
5、编码指令
上图程序中的意思,K3代表源操作数M20为位软元件,即有8位(2的3次方),对于源操作数为D3字元件,即源操作数为D3为8位的字(2的3次方),注:我是在word中写文档,然后拷贝到这里,但有时候显示不了,希望大家能理解。
假设某系统有8位错误对应M区的M20~M27,地址越高的位错误的优先级越高,第76行的编码指令,将M20~M27(K2M20)中地址最高的为1的状态的位在字中的位数写入D2,假设M24和M27为1,而M27位数最高,编码指令完成后将位数7写入D2中。
6、ON位指令、ON位判别指令和平均值指令、二进制开平方指令
上图程序第一行:统计X10~X27中有多少位为1。并送到D5中去。仿真如下,
程序第二行:当程序中的K4Y10的第9位为1时,即Y21为1时,M4为1.仿真如下:
程序第三行;以前文章的例子中用过,就是对D6~D8的值取平均值送到D9中去。
程序第四行:对D20的数开平方,并将结果送到D21中。
我的文章都是一点点给大家敲的,我想通过我的总结能给大家的学习带来一些便捷,若有遗漏或错误欢迎指正。希望大家看到的能帮助我转发。让更多的想学习的人加入进来。
喜欢的小伙伴别忘记点关注,欢迎大家来评论和转发。你们的支持是我继续前进的动力。
相关问答
三菱PLC中,16位和32位数据的区别?
16为是以字为操作单位的,32位以双字为单位。16位的传送指令对目标地址为数值存储区100传送0,只有100被覆盖成0;如果是双字传送,则100和101都变0.当数值输入或...
三菱PLC的sftrp与sftlp是怎么移位的?
三菱PLC移位指令分左移和右移,分别是SFTL和SFTR。下面简单讲解一下SFTLP。指令格式为SFTLPM20M0K8K1SFTLP——对位进行左移;M20——移进来的是“1”还是...
PLC三菱的SFTLY7Y0K8K1什么意思?
位右移SFTR与位左移SFTL指令编程方式如下:SFTLM0M20K16K4*M0:源位元件起始地址,只能是位元件(X,Y,M,S)*M20:目标位元件起始...位右移SFTR与位左移...
都是EA211发动机,A4L卖25万,为何朗逸能卖10万?
这类问题一般不是拿迈腾(帕萨特)与奥迪A4L比么,问同是EA888为什么迈腾要便宜这么多?这怎么又弄出个朗逸呢?题主大人这么问是处于何等想法?鄙人突然有了一种...总...
PLC三菱的SFTLY7Y0K8K1什么意思?怎么位移的?
位右移SFTR与位左移SFTL指令编程方式如下:SFTLM0M20K16K4*M0:源位元件起始地址,只能是位元件(X,Y,M,S)*M20:目标位元件起始地址...位右移SFTR与位...
朋友们,给推荐推荐:质量好30多马力机耕船代理商,30多马力...
[回答]华友天宇科技(武汉)不断创新,一直走在最前端,前景还不错哦外观内饰最重要的一点M309寸大屏导航比M20高配导航用起来更加舒适.机器M30高配发动机是...
甲醇的工业用途?–960化工网问答
甲醇的工业用途?960化工网专业团队、用户为您解答,有甲醇的工业用途?的疑问
欧蓝德咋样?为什么那么便宜?
[回答]主流紧凑型SUV有CRV、荣放、奇骏(查成交价|参配|优惠政策)等车型,这些车型起步价格(指导价)均在17.5w以上,只有欧蓝德起步价格在15.98w。...并且欧...
车友们有知道怎么把前转向灯拆下来的吗?有没有教程?
[回答]根据车型不一样拆法也是不一样的
雷克萨斯eS200V与vl有什么区别?
首先,雷克萨斯es200国六版采用了丰田m20a_fks2.0l发动机,最大功率为173马力,最大扭矩为208牛米,而雷克萨斯es200国五版,则搭载了丰田6ar_fse发动机,其最...尽管.....