您现在所在的是:

欧姆龙OMRON

回帖:30个,阅读:5295 [上一页] [1] [2] [3] [4] [下一页]
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2021/7/25 16:13:27
#10楼
最简单的比方, TIMER指令很简练吧, 而且PLC中提供了数量非常多。

然而使用中就很麻烦, 需要每次单独调用,根本不利于大规模的程序自动生成。

所以,就坚决放弃不用。

最终,我做的标准化程序框架,在三菱或OMRON中实现时使用的定时器,也就1个或者0个。

当然, 在西门子中,到了1500, 甚至定时器这种特殊内存已经不存在了。
[此贴子已经被作者于2021/7/25 16:14:06编辑过]
PLC标准化编程
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2021/7/25 16:22:12
#11楼
回复 #6楼 知道一点
正是因为还有大量设备,大量人在使用CX-P, 所以我才排除千辛万苦在CX-P中研究标准化编程的实现方法。

你这回复一会儿指点我去用STUDIO, 一会儿又告诉我CX-P里面有大批钱可赚。

太互相矛盾了。

我已经翻遍了CX-P手册和ST指令集,没有专门的拆位指令, 所以自己编程实现了,所以写了文章。 你整个儿跟我玩了一场倒叙。

还什么指点我去翻手册。

我文章里面也说的很清楚了, CX-P和STUDIO我都要做。后者早研究很久了, 难度要小的多。所以暂时不着急。
PLC标准化编程
38058
知道一点
文章数:22551
年度积分:2477
历史总积分:38058
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2021/7/25 21:20:06
#12楼
以下是引用万泉河.2021/7/25 16:22:12的发言:
正是因为还有大量设备,大量人在使用CX-P, 所以我才排除千辛万苦在CX-P中研究标准化编程的实现方法。

你这回复一会儿指点我去用STUDIO, 一会儿又告诉我CX-P里面有大批钱可赚。

太互相矛盾了。

我已经翻遍了CX-P手册和ST指令集,没有专门的拆位指令, 所以自己编程实现了,所以写了文章。 你整个儿跟我玩了一场倒叙。

还什么指点我去翻手册。

我文章里面也说的很清楚了, CX-P和STUDIO我都要做。后者早研究很久了, 难度要小的多。所以暂时不着急。
没觉得你说清楚了
当下欧姆龙的PLC,不论是CXP编程还是STUDIO编程能抛开梯形图吗?
说你去用STUDIO是稍微理解一点,你是不想用所为的绝对地址编程序,NX/NJ系PLC应该能满足你的爱好,可它能脱开梯形图吗?

cxp目前还是玩欧姆龙来钱最快的手段,STUDIO你玩的再溜,一年能接几单,当然接下一单可以歇三年。

找不到拆位指令就曲线读取嘛,不可以吗?
就像你开头最笨的办法,你敢说最后不要绝对地址吗?

再一个你开始给出的表细看看不懂了

附件 image.jpg
左边“out x”是拆出来的“位”吗?
右边 “IN 1”是要拆的“数据”吗?
如果in1=3456,out?位为“1”
如果in1=A456,out?位为“1”
别说以三菱“8位”做蓝本,就说排到这么多“位”有什么意义。

一方水土养一方人 懂嘎
入乡随俗
快乐 幸福 自由 比什么都重要
11791
逍遥的久鸣
文章数:4434
年度积分:1025
历史总积分:11791
注册时间:2017/3/6
发站内信
2018论坛热心网友
发表于:2021/7/25 21:56:42
#13楼
看到有这么多人怼你,我很开心^_^,干啥啥不行,装逼我第一
此帖发自手机工控论坛
37240
cvlsam 版主
文章数:12401
年度积分:1592
历史总积分:37240
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2021/7/25 22:16:48
#14楼
以下是引用逍遥的久鸣2021/7/25 21:56:42的发言:
看到有这么多人怼你,我很开心^_^,干啥啥不行,装逼我第一

的确,你跟他谈编程,他跟你谈算法。

他所谓的算法不就是演变至传统PC中取位的算法,只不过我们平时写成 OUT:=(IN SHR x) AND 16#1而已,他的算法在绝对遵从IEC标准的日系中是行不通的,原因在于整型和字串性是不同的类型,同时,如果要将整型按位赋予位数组必须依赖于地址编程,因此标签化编程自动化分配地址他这一套就失效了。

他不清楚梯形图才是几乎每家厂家都支持的编程语言,要想编制欧姆龙中通用的程序,不用梯形图怎么行?

所以我不得不提醒各位,骗子不少,口袋看看好。
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2021/7/25 22:58:46
#15楼
以下是引用万泉河.2021/7/25 16:13:27的发言:
最简单的比方, TIMER指令很简练吧, 而且PLC中提供了数量非常多。

然而使用中就很麻烦, 需要每次单独调用,根本不利于大规模的程序自动生成。

所以,就坚决放弃不用。

最终,我做的标准化程序框架,在三菱或OMRON中实现时使用的定时器,也就1个或者0个。

当然, 在西门子中,到了1500, 甚至定时器这种特殊内存已经不存在了。
[此贴子已经被作者于2021/7/25 16:14:06编辑过]

你也开始用多品牌了,是公司不行了生活遇到困难了吗?
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2021/7/25 23:04:35
#16楼
以下是引用万泉河.2021/7/18 21:09:10的发言:
【万泉河】OMRON PLC的字变量拆位

我在做PLC标准化编程的架构开发的时候,面对任何一个新型号的PLC, 首要关心的问题是这个系统中如何拆位。

即,如何把一个DWORD或者一个WORD拆成32个或16个BOOL变量,或者一个BOOL数组。当然同时也包含了如何聚合,把BOOL聚合为DWORD/WORD。

这是因为标准化的块在与上位机或者触摸屏通讯的时候,通常使用的控制字和状态字。所有的控制指令通过一个DWORD的多个位下发到PLC,而运行状体的多个位,聚合到一个状态字后上传到HMI。

这样既减少变量的使用,也减少块的管脚。

当然,我也不是每次都重写程序。 程序脚本都是从西门子,倍福的标准化程序,移植过来的。老的程序中既然用到了,那到了新平台,当然也想继续这个模式。尽可能的通过移植来实现,而不需要完全对程序重新编写。

这个问题,在绝对寻址的年代,其实是不存在的。比如在S7-300中, 要把1个WORD比如MW10拆位, 啥工作都不需要做。 在需要按字访问的时候,只需要访问MW10,而需要按位访问的时候,则分别对应了M10.0, M10.1………M11.7。只需要访问这些位即可。

然而到了标准化编程, 逻辑都是在FB内部实现的, 我反复说过,FB中是不可以使用全局变量M的,所以自然就不能使用那些原本基础功能的技巧了。

到了TIA PORTAL, 西门子给出的解决方案是对字变量支持切片访问,即原本的一个WORD变量VAR1, 可以直接使用VAR1.%X0的方式访问其中的位。

这一点,使用中是非常方便,但其实和IEC61131标准有些出入,像倍福TC2中, 这个语法变为了VAR1.0,没了%和X。程序直接复制使用会有错误,但也还好,只要有明确的规则, 做个查找替换也实现了。

但到了三菱, 不支持切片访问了,找啊找, 找到了一套DINT_TO_BITARR的函数,可以通过转换,转换到数组访问。 麻烦当然是增加了不少。但最终也算是解决了。

然后是OMRON, 现在搞的是CX-P,就被这个难题给难住了。 翻遍了手册,也没找到合理的函数,请教了熟悉OMRON的学员,帮忙搜索请教了好几天,给我个回复也是没找到好方法。

那我就自己动手写一个函数吧,也不用什么循环了。 用最笨的方法,直接判断32行,做比较:

附件 6.jpg

随便拿其中的一行做个解释,比如BIT2:
QOUT[2]:=(IN1 AND 4)=4;

这里如果数值IN1只有BIT2=1,则数值=4, 所以先做一个字的AND, 把其它的位都过滤屏蔽掉,然后再比较下是否等于4, 如果等于,就是TRUE, 如果不等于,就是FALSE。 可能用IF语句比较容易被理解。 但其实=本身的结果就是TRUE/FALSE,可以直接使用。

明眼人肯定看出来了, 我这段逻辑这是在EXCEL生成的,所以后面的那些大数字,虽然难记,但其实我根本不会去计算它们,都是直接复制使用了。

相似的道理,位聚合成字,也用此方法实现。

然后生成的函数就叫做DINT_TO_BITARR,与三菱的函数同名,调用语法再稍微做个调整,就可以在一大批库函数中使用了!

将来再有别的品牌平台不支持拆位的,也可以直接使用这段代码。 毕竟,在数学计算的方法上,所有平台都是一样的。

最后汇报下在OMRON中做标准化移植的进展情况:

起先准备阶段的时候,是先研究了SYSMAC STUDIO,  (我在某网发帖提问只说前半截SYSMAC还被鄙视懂的太少,所以还不敢简称了),基本验证了可行之后,被同行告知, OMRON竟然还在两条产品线同时使用, CX-P也并没有完全被淘汰。

所以,安装了CX-ONE之后,一边研究一边探索,索性就先搞CX-P了。 OMRON作为一个最古老的PLC品牌,我在大学中就学过它,那是快30年前的故事了。 为了向OMRON,也为了向我的大学致敬,索性就两条线都各自做吧!但愿能满足更多行业的需求。

现在CX-P已经做了过半, 和三菱一样, 也是遇到了各种问题,然而和三菱中的问题又完全不同,我原本以为他们两家有亲戚关系,基因会很接近,但现在看,脑回路完全不一样。

但凭我对PLC和计算机的理解, 也大致摸透了他的特性,基本的技术难点已经解决,现在只剩下工作量的问题了。 我需要通过对设定的重复性比较多的工作量,探索如何在OMRON系统中快速实现。

总有人问我什么叫标准化,标准化其实就是追求高效率。寻找高效率的设计工作方法,给我们的设计工作探索一个标准化的流程。

如果不能实现高效率, 那任他啥子标准都没意义,如果某些所谓国际标准非但不能帮我们提高效率,反而会给我们工作带来麻烦,那我们会毫不犹豫抛弃它。那些只有面子的东西我们不需要,我们需要的是看得到的,能实实在在带来高效率,带来效益的技术和方法。

总有一些同行, 以为自己玩日系三菱、OMRON很久了,以为自己有点水平了。 所以对俺们这种新入手摸索一个新品牌的新手有些瞧不起,鄙视咱没水平。

现在给个作业, 和我做的一样,自己把位聚合的程序写出来,秀一下水平,如何?

先能做出来,再说水平。
[此贴子已经被作者于2021/7/18 21:09:47编辑过]

取位这种基本算法不是通用的么,正常人不是先移位再与操作的么,你作为要标准化的人怎么就拿这种垃圾算法来论坛显摆呢,这有失身份啊……
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
101
陈嘉伟
文章数:471
年度积分:101
历史总积分:101
注册时间:2019/6/13
发站内信
发表于:2021/7/30 10:29:49
#17楼
一进来就看到万老师装逼不成反被人打面

我只能说,干得漂亮,请大力点
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2021/8/5 19:15:52
#18楼
回复 #15楼 fujifa
是实在闲的没事干了。

前面开发的西门子系统的标准化掌握的技能, 啥都不用干,就光给其他公司做辅导,已经足够轻轻松松养家糊口。

书也写完了, 为了证明方法是通用于所有PLC品牌的,所以闲下心来就把所有的品牌系列都排着做一做。

然后未来, 那些习惯于用OMRON, 三菱的非标设备公司, 如果要提高效率, 要推行标准化, 也可以参与一下了。

等于为自己扩展更广的空间。
PLC标准化编程
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2021/8/5 19:16:43
#19楼
回复 #16楼 fujifa
你好像根本没看懂需求。
PLC标准化编程

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006