| 作者 | 主题 |
|---|---|
|
贤贤易色 奇侠
经验值:8138 发帖数:1280 精华帖:6 |
楼主
主题:报警程序,,关于Zane侠说事儿程序中的问题.
这是原帖位置:【Zane说编程】之集中报警处理功能块的更新 — SMART版-技术论坛-工业支持中心-西门子中国 (siemens.com.cn) 关于smart #Sound_Out_*** 变量声明接口的问题... 这个是个中间变量声明在临时变量区,,,,,都知道临时变量区只能保持1个扫描周期,,,..用这个变量来控制报警鸣笛,,,....我的疑问是这样能保持的住????为啥不直接用inout来填写这个报警鸣笛呢? 另外网络24最后一段程序: 又一次讲报警的数量给写回去,,#StartAddr 是IN啊,,,怎么会这样用呢,不违反规定?如果能用,,这种写法就是为了让报警数量一直不变吧,,,,,,,我感觉是没啥用,,,这个地址的值也可能随时在其它地方更改了啊........希望大家给解惑..
养活一团春意思,撑起两根穷骨头
|
|
芳季 至圣 经验值:72120 发帖数:15507 精华帖:101 |
1楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.这样的。 第一个网络目的已经把你认为不能自锁的事情给解决了。虽然是temp参数,但是这个网络给赋值了。剩下的懂了吧? 最后一个网络是第一个网络的逆操作。两个网络的组合只产生一个效果。手工制作in/out参数。 楼主。我知道你一定不知道。西门子plc的物理输入点是可以写的。 LD I0.0 = I1.1 更何况L。 现在,你应该没有问题了吧? |
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
2楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.但是这个#NewAlarm_Flg 这个值或许只是1个扫描周期啊...怎么也保持不住啊.......第二个问题可以理解,,.
养活一团春意思,撑起两根穷骨头
|
|
芳季 至圣 经验值:72120 发帖数:15507 精华帖:101 |
3楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.一个周期都不必保持。下个周期由第一个网络一开始就重新写入应该有的值。你可能没有看清楚第一个网络写的是什么。 先赋值再使用,程序完全满足这个条件。第一个网络就向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。两种行为原理是一致的。 |
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
4楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.程序是思路是这样的: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啊,,这时报警灯就不响了啊,因为自锁没锁住啊...............要实现的是有新报警鸣响,,,手都复位鸣响,,,,,,,或者报警消失就不响了. 只要有报警,报警灯就亮..... 不知道我描述的准确不准确...你能明白我说的意思吗?
养活一团春意思,撑起两根穷骨头
|
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
5楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.第一个循环:VW1004的值是1,,,,,,经过处理跟VW1024值异或,,异或后的值再跟VW1004的值与...(因为是先读VW1024的值,然后再写,经过处理VW1024值是1保存的是VW1004上个周期的值)判断这个结果是否为0,,不为0就是有新报警... 假如这个大循环结束 第二大个循环开始:VW1004的值还是1(数据不变的情况下),,,,,,VW1024的值是1,,,,,,经过异或,与........这个新的报警位是0.... 那么对于这个报警鸣响就不成立了吧?你觉得呢?
养活一团春意思,撑起两根穷骨头
|
|
芳季 至圣 经验值:72120 发帖数:15507 精华帖:101 |
6楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.你所说的“不能自锁”是着眼点在参数传递上的问题还是程序逻辑上的问题。我看你一开始说的是关于这个参数是temp不能自锁,但是看完我的解释后你是觉得参数传递上的问题理解了没有? |
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
7楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.我想表达的意思是说:我的理解能力觉得这#Sound_Out_Flg应该用INout 如果不是的话,,,,根绝我上面分析#NewAlarm_Flg不可能说是一直为1......那么这个报警鸣响就不会一直响了......我一直的想法就是参数传递的问题,,,第一个大周期VW1004是1, #NewAlarm_Flg的接通条件成立....... 但第二个大期还是1,那#NewAlarm_Flg的接通条件不成立.......而#NewAlarm_Flg接通的又是报警鸣响,,,,,,也就是说第二个大周期鸣响就不响了啊...........我表达的意思你明白了没有?
养活一团春意思,撑起两根穷骨头
|
|
芳季 至圣 经验值:72120 发帖数:15507 精华帖:101 |
8楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.我这么说,第一个网络和最后一个网络就已经达成了这个L8.x成为in/out参数了。至于程序逻辑问题我还没看。 假如你现在对这个in/out没有疑问的话,是不是仍然在逻辑上存在不能自锁的现象? |
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
9楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.
养活一团春意思,撑起两根穷骨头
|
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
10楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.这是我根据Zane写了一遍,,,,其中加了注释,,,我发现不管是博图还是samrt 他这个报警鸣响都是OUT.....而博图我用的是INOUT仿真是没问题的.......这其中是啥原理呢,他为啥这么用
养活一团春意思,撑起两根穷骨头
|
|
贤贤易色 奇侠 经验值:8138 发帖数:1280 精华帖:6 |
11楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.这是我测试完成的,,,我把#Alarm_Sound 修改成了INOUT可以实现我上述所说的功能,但使用过程中出现个问题.... 一开始我以为存报警数量是放在VD里面,,,但是放在VD100后,但是子程序里边用的是BLKMOV_W,也就是说VW100 给了LW6 VW102给了LW8,,,,,假如现在用VD100存放的是10,这时数据在VW102里面....再在后面用W就不行了.........LW6里面是0........这样程序就不正确了....如果用VW100,,那么VW100刚好对应LW16...这样数据才是准确的...
养活一团春意思,撑起两根穷骨头
|
|
Zane 至圣 经验值:85170 发帖数:21052 精华帖:399 |
12楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.就是个暂存器的作用。 把全局变量A变量拷贝到子程序的临时变量区,参与运算后的结果,又送回全局变量A,仅此而已。 临时变量的使用当然是先初始化,然后再使用的
Zane
注册自动化系统工程师
Always save before download
|
|
holdkcsxyz 至圣 经验值:13737 发帖数:1560 精华帖:24 |
14楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.Zane斑竹讲的送回去就是自锁住了啊。本周期自锁住就行了,下个周期又重新先赋值后使用了。 |
|
Zane 至圣 经验值:85170 发帖数:21052 精华帖:399 |
16楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.被 @ 贤贤易色 网友说得我也吓了一跳,我有这么不负责任吗?真是这样可是太对不起大家了! 还是认真地review了一下我的程序,没发现啥问题,而是发现了楼主钻了牛角尖,我传进来2个字,都有用,传出去的也是2个字,当然第一个没啥用,仅此而已。
Zane
注册自动化系统工程师
Always save before download
|
|
Zane 至圣 经验值:85170 发帖数:21052 精华帖:399 |
18楼
主题:回复:报警程序,,关于Zane侠说事儿程序中的问题.讲这话的时候,我还真把程序具体怎么写的给忘了,我只记得我编写这段程序的初心,就是上面这段话。现在看来没错!
Zane
注册自动化系统工程师
Always save before download
|