恭喜,你发布的帖子
发布于 2021-04-09 23:10:11
4楼
一个周期都不必保持。下个周期由第一个网络一开始就重新写入应该有的值。你可能没有看清楚第一个网络写的是什么。
先赋值再使用,程序完全满足这个条件。第一个网络就向L8.x写入值了。然后后面才出现你说不能自锁的程序。
看看你是在哪里没有想通?
你用过三菱的小型plc没有?它是没法带参数调用子程序的。只能自己手工制作这些携带参数。也是通过这样的mov进去;运行;mov出来来带入带出参数的。
然而。西门子200plc这个带入带出是由系统包办。in参数只带入,out参数只带出,in/out参数就又入又出。temp参数就不入不出。
如果你使用三菱plc并且自己向自己声明:M7000到M7999;D7000到D7999这个范围仅仅用于子程序临时变量用。然后子程序里面全部都是使用这个范围里面的变量。参数传递在call指令之前把in参数mov到M和D,call之后把out参数从M和Dmov到外出来,那么这种行为就相当于200plc的参数传递。三菱的M和D就是200的L。两种行为原理是一致的。
程序是思路是这样的:VD1000存放的是报警字的数量假如是10,那就是10个字,,,,,
报警字是VW1004,VW1006 VW1008 VW1010 VW1012 VW1014 VW1016 VW1018 VW1020 VW1022
历史故障字是:VW1024,VW1026,VW1028,VW1030,VW1032,VW1034,VW1036,VW1038,VW1040,VW1042
循环的程序就是:写这些字跟读这些字,,,然后发现不一样的位,,...假如有新的报警位报警灯就响,,.....有报警,报警灯就亮........但是我还是觉得这也自锁不了啊.......假如VW1004是1,第一个周期后 新的报警位成立(因为VW1024值是0),,,经过处理此时VW1024也是1,,,,下个周期新的报警位就是0啊,,这时报警灯就不响了啊,因为自锁没锁住啊...............要实现的是有新报警鸣响,,,手都复位鸣响,,,,,,,或者报警消失就不响了. 只要有报警,报警灯就亮..... 不知道我描述的准确不准确...你能明白我说的意思吗?
请填写推广理由:
分享
只看
楼主