对网友求助问题的几个回帖展示之五
本文5例是近期在网上回答网友的求助帖,现展示给大家,如有不对之处,请给于指正,谢谢!
一、网友求助:“一个零件检测装置,使用s7-300,在检测尺寸后,步进12个零
件位置,才会到达废料剔除通道,坏件剔除掉,好件继续步进,请教高手们怎么做程序呀,要是连续多个坏件时,程序该怎么做,是用计数器吗?”
可以这样编程: 用MW0作为零件的质量标记区,可存放连续16个零件的质量状态,初始化使MW0=0,每检完一个零件,如是好件,将MW0左移一位,如是坏件,MW0加1后再左移一位,当检测12个件后,第一个零件的质量标记已移到M0.4的位置,故在剔出分选出放一接近开关,当第一个件步进到接近开关时,可通过判断M0.4的状态进行分选。见梯形图:
一网友提问:看不明白为什么要有个加指令。如果连续两个都是废品的话,这个值变成了多少?
回复:加1指令是为给坏件做标记,每检测完零件,对好件不加,对坏件加1,之后都要左移一位,如连续2个件都是坏的,加1且移位后,MW0的结果为:“0000_0000_0000_
二、网友求助:在plc串口控制台达变频器中(modbus帧),控制命令需要转换为十
六制或asc,现场用触摸屏设定的十进制频率。如3000=30*100,转换为十六进制(h0bb8)程序怎么写,这样比较直观,请老师们指点,最好有实例(S7200)
回复:S7200有现成的BCD码转换为整数的指令。直接用就可以了。
如果你需要将BCD码转换为16进制数的编程,我可以告诉你如何编写:BCD码又叫
下面是我用S7-200编辑了BCD码转换为16进制数的程序,该程序经上机运行,好用。本程序就是对BCD码3000进行转换的。VW10存放的是BCD码数(可改为其它4位以内的BCD码数),VW30为转换后的16进制数。
? 三、请求各位前辈帮忙!
如何在PLC300中 记录并且保存实时数据的最大值!!!谢谢!!!麻烦请说的详细些有梯形图的更好!!!
由于是新注册的分值不够~~~所以只能给这么多了!!!再次感谢!!!
回复:你可以这样编:先设置最大之区(如DBW100),第一次读取的采样数据送入DBW100,再读取采样数据时,用读取的数与DBW100比较,如用读取的数>DBW100,将读取的数送入DBW100,否则舍去读取的数,继续读取判断,直至结束,DBW100的值一定是实时数据的最大值。
四、我要用sensor 连接 计数器,每感应一下,就计数一次
因为有时误感应,多计数一次,如何设计一个简单的电路,通过一个按钮,按动一次,将误感应的数字再减掉一个数字,恢复到误感应之前的数字
回复: 你可选用COS集成电路40192,它是是十进制的可逆计数器,选用正跳沿计数,用它的加计数输入端作为你的正常加计数,减计数端加一个上拉电阻,再用一按钮连接减计数输入端与地,这样平时不用按按钮,需作减1计数时,再按一下按钮就可以了,为防止按钮颤动多减数,在按钮触点并接一个0.1uF的电容,按钮时应在没有加数时按下。见习下图:
五、懂光耦的来看看了
如第一张图中,我用红圈所表示出来的,为什么它们的画法不一样?难道是它们的结构原理有区别?一个是发光二级管里涂黑,有两根光线示意,另一个是发光二级管没有涂黑,一根光纤示意。第二张图中,资料上显示输入是交流信号,那我输入差分信号不知道行不行,我想差分信号也算是交流信号吧,谁来给我个答案,谢谢了
回复:只是画法不同,工作原理是一样的,对只有一个发光二极管的光耦,对输入信号有极性要求,输入正向电压通导发光,输入反向电压,截止不发光。二个反并联发光二极管对输入信号无极性要求,正反信号都可使一个发光二极管导通而发光,使光敏三极管导通。
切记,发光二极管与输入信号连接一定要串有限流电阻,确保回路电流在10ma左右。
楼主最近还看过