请问三菱PLC在程序中如何实现暂停功能?
能否提供一下简单的用法示例呀,谢谢! 展开
可以使用CJ指令来实现。
CJ指令可以跳过某些流程,被跳过的流程PLC不会再扫描。如果被跳过的是步进STL流程,STL内部的时间继电器T、计数器C会停止计数(但不复位),所有继电器M,线圈Y的状态都被冻结保持。
CJ指令配合P指针来使用,可以把P放在流程末端,P可以输出一条空指令。(或者用CJ P63指令,P63意味着直接跳转到END)
扩展资料
保养方法
一、保养规程、设备定期测试、调整规定
(1) 每半年或季度检查PLC柜中接线端子的连接情况,若发现松动的地方及时重新坚固连接;
(2) 对柜中给主机供电的电源每月重新测量工作电压;
二、设备定期清扫的规定
(1) 每六个月或季度对PLC进行清扫,切断给PLC供电的电源把电源机架、CPU主板及输入/输出板依次拆下,进行吹扫、清扫后再依次原位安装好,将全部连接恢复后送电并启动PLC主机。认真清扫PLC箱内卫生;
(2) 每三个月更换电源机架下方过滤网;
三、检修前准备、检修规程
(1) 检修前准备好工具;
(2) 为保障元件的功能不出故障及模板不损坏,必须用保护装置及认真作防静电准备工作;
(3) 检修前与调度和操作工联系好,需挂检修牌处挂好检修牌;
四、设备拆装顺序及方法
(1) 停机检修,必须两个人以上监护操作;
(2) 把CPU前面板上的方式选择开关从“运行”转到“停”位置;
(3) 关闭PLC供电的总电源,然后关闭其它给模坂供电的电源;
(4) 把与电源架相连的电源线记清线号及连接位置后拆下,然后拆下电源机架与机柜相连的螺丝,电源机架就可拆下;
(5) CPU主板及I/0板可在旋转模板下方的螺丝后拆下;
(6) 安装时以相反顺序进行;
五、检修工艺及技术要求
(1) 测量电压时,要用数字电压表或精度为1%的万能表测量
(2) 电源机架,CPU主板都只能在主电源切断时取下;
(3) 在RAM模块从CPU取下或插入CPU之前,要断开PC的电源,这样才能保证数据不混乱;
(4) 在取下RAM模块之前,检查一下模块电池是否正常工作,如果电池故障灯亮时取下模块PAM内容将丢失;
(5) 输入/输出板取下前也应先关掉总电源,但如果生产需要时I/0板也可在可编程控制器运行时取下,但CPU板上的QVZ(超时)灯亮;
(6) 拨插模板时,要格外小心,轻拿轻放,并远离产生静电的物品;
(7) 更换元件不得带电操作;
(8) 检修后模板安装一定要安插到位。
可以使用CJ指令来实现。
定时器和计数器如果被CJ指令跳过,跳步期间它们的当前值被冻结,如果在跳步开始时定时器和计数器正在工作,在跳步期间,它们将停止计时和计数,在CJ指令的条件变为不满足时继续工作。
跳转指令CJ执行时,如果跳转条件满足,PLC将不再扫描执行跳转指令与跳转指针P间的程序,即跳到以指针P为入口的程序段中执行。直到跳转的条件不再满足,跳转才会停止进行。
高速计数器的处理独立于主程序,其工作不受跳步影响。如果用M8000的动合触点驱动CJ指令,则条件跳转变为无条件跳转。
扩展资料:
三菱PLC的条件跳转指令CJ的注意事项:
1、CJP指令表示为脉冲执行方式;
2、在一个程序中一个标号只能出现一次,否则将出错;
3、在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间根本没有执行这段程序。
4、如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到跳转条件不满足后又继续工作。但对于正在工作的定时器T192~T199和高速计数器C235~C255不管有无跳转仍连续工作。
5、若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。
参考资料:百度百科-三菱PLC
可以使用CJ指令来实现。
CJ指令可以跳过某些流程,被跳过的流程PLC不会再扫描。如果被跳过的是步进STL流程,STL内部的时间继电器T、计数器C会停止计数(但不复位),所有继电器M,线圈Y的状态都被冻结保持。
CJ指令配合P指针来使用,可以把P放在流程末端,P可以输出一条空指令。
(或者用CJ P63指令,P63意味着直接跳转到END)
如下图:当X0为ON时,流程直接跳到第24步,4~23步不会被扫描,S0,S1处于暂停状态。
当X0为OFF时,PLC继续扫描所有流程,还会从被暂停的步进位置继续工作。
需要注意的是,如果暂停前STL内部的Y处于ON状态,那么暂停后Y同样会保持ON状态。如果是用PLC来驱动外部设备,如电机、电磁阀等,只用CJ指令的话,Y达不到暂停效果。就需要在CJ暂停功能的基础上进行完善,需要对Y进行复位。如下图:
以上是我的个人经验,希望可以帮到你。
我见过两种思路:
一,暂停时刻记录所有的输出状态(如果有定位移动,暂停键按下后,当前定位结束以后停止),再启动时检查所有的输出口(用块比较指令),和暂停之前相同,再启动下一步动作。当然,每一步的动作必须是独立完成,而且能分别控制,才有可能任意步骤停止,再启动和每一步的启动条件串联就可以了。
二,程序结构是用移位指令控制的,每移位一次,接一个动作,暂停就加在移位条件里(当然还有其他很多条件)。这种结构思路清晰,但是一旦动作逻辑都形成了,就很难更改,因为动作是移位控制的,很难中间加上别的动作。如果要加,后面的所有的动作都要往后挪,修改的工作量很大,可维护性也较差。
这都是纸上谈兵,具体起来要复杂得多得多。精确定位控制也能中间停止,如果要这样控制那就更加复杂了。