对网友求助问题的几个回帖展示之五 点击:469 | 回复:3



wyb2866255

    
发表于:2012-01-09 22:02:15
楼主

          对网友求助问题的几个回帖展示之五

    本文5例是近期在网上回答网友的求助帖,现展示给大家,如有不对之处,请给于指正,谢谢!

一、网友求助:“一个零件检测装置,使用s7-300,在检测尺寸后,步进12个零

件位置,才会到达废料剔除通道,坏件剔除掉,好件继续步进,请教高手们怎么做程序呀,要是连续多个坏件时,程序该怎么做,是用计数器吗?”

可以这样编程: MW0作为零件的质量标记区,可存放连续16个零件的质量状态,初始化使MW0=0,每检完一个零件,如是好件,将MW0左移一位,如是坏件,MW01后再左移一位,当检测12个件后,第一个零件的质量标记已移到M0.4的位置,故在剔出分选出放一接近开关,当第一个件步进到接近开关时,可通过判断M0.4的状态进行分选。见梯形图:

   一网友提问:看不明白为什么要有个加指令。如果连续两个都是废品的话,这个值变成了多少?

   回复:1指令是为给坏件做标记,每检测完零件,对好件不加,对坏件加1,之后都要左移一位如连续2个件都是坏的,加1且移位后,MW0的结果为:“0000_0000_0000_0110”如再连续3个件是好的,MW0只作左移3次,其结果为:0000_0000_0011_0000,即从第一个件开始,它的质量标记放在MW0的最低位(好的为0,坏的为1),第二个件时,由于MW0已左移一位,即第一个件的标记已移到低2位,MW0此时的最低位变为为第二个件的标记位。。即从第一个件起以后的各个零件的质量标记一依次存放在MW0的各个位上,当步进12步时,第一个零件质量标记已移位到M0.4,第二个件移到M0.3….,再步进一步时,第一个零件质量标记已移位到M0.5,而M0.4变为第二个间的质量标记…..

 

二、网友求助:在plc串口控制台达变频器中(modbus帧),控制命令需要转换为十

六制或asc,现场用触摸屏设定的十进制频率。如3000=30*100,转换为十六进制(h0bb8)程序怎么写,这样比较直观,请老师们指点,最好有实例(S7200

    回复:S7200有现成的BCD码转换为整数的指令。直接用就可以了。

    如果你需要将BCD码转换为16进制数的编程,我可以告诉你如何编写:BCD码又叫8421,它的每一位数都是用42进数表示,个位BCD码的42进制数分别代表8421,十位的BCD码的42进制数分别代表80402010,百位为800400200100。。。可以这样编程:如果是4BCD码,其最大值为9999,把它放在一个字存储器(如VW10),再用另一个字存储器如MW10用存放16进制数,先将MW100,先判断VW10的最高位数即V10.7=1,如=1,则将16#1F40(即10进制数8000),加在MW10里,如=0不进行加数运算,将VW10左移一位,再断VW10的最高位数即V10.7=1,如=1,则将16#FA0(即10进制数4000),加在MW10里,再将VW10左移一位,再断VW10的最高位数即V10.7=1,如=1,则将16#7D0(即10进制数2000),加在MW10.....判断4次完成千位数的转换,接着判断百位数,一次加数为80040020010016进制数,百位判断完再判断十位数,个位数不需判断,直接将VW10循环左移4位,将VW10加在MW10里即可。

下面是我用S7-200编辑了BCD码转换为16进制数的程序,该程序经上机运行,好用。本程序就是对BCD3000进行转换的。VW10存放的是BCD码数(可改为其它4位以内的BCD码数),VW30为转换后的16进制数。

 

?    三、请求各位前辈帮忙!

如何在PLC300 记录并且保存实时数据的最大值!!!谢谢!!!麻烦请说的详细些有梯形图的更好!!!

由于是新注册的分值不够~~~所以只能给这么多了!!!再次感谢!!!

     回复:你可以这样编:先设置最大之区(如DBW100,第一次读取的采样数据送入DBW100,再读取采样数据时,用读取的数与DBW100比较,如用读取的数>DBW100,将读取的数送入DBW100,否则舍去读取的数,继续读取判断,直至结束,DBW100的值一定是实时数据的最大值。

 

四、我要用sensor 连接 计数器,每感应一下,就计数一次

因为有时误感应,多计数一次,如何设计一个简单的电路,通过一个按钮,按动一次,将误感应的数字再减掉一个数字,恢复到误感应之前的数字

回复:   你可选用COS集成电路40192,它是是十进制的可逆计数器,选用正跳沿计数,用它的加计数输入端作为你的正常加计数,减计数端加一个上拉电阻,再用一按钮连接减计数输入端与地,这样平时不用按按钮,需作减1计数时,再按一下按钮就可以了,为防止按钮颤动多减数,在按钮触点并接一个0.1uF的电容,按钮时应在没有加数时按下。见习下图:

五、懂光耦的来看看了

如第一张图中,我用红圈所表示出来的,为什么它们的画法不一样?难道是它们的结构原理有区别?一个是发光二级管里涂黑,有两根光线示意,另一个是发光二级管没有涂黑,一根光纤示意。第二张图中,资料上显示输入是交流信号,那我输入差分信号不知道行不行,我想差分信号也算是交流信号吧,谁来给我个答案,谢谢了

    回复:只是画法不同,工作原理是一样的,对只有一个发光二极管的光耦,对输入信号有极性要求,输入正向电压通导发光,输入反向电压,截止不发光。二个反并联发光二极管对输入信号无极性要求,正反信号都可使一个发光二极管导通而发光,使光敏三极管导通。

切记,发光二极管与输入信号连接一定要串有限流电阻,确保回路电流在10ma左右

 

 



楼主最近还看过



墨之殇

  • 精华:17帖
  • 求助:8帖
  • 帖子:451帖 | 4077回
  • 年度积分:0
  • 历史总积分:26886
  • 注册:2011年8月26日
发表于:2012-01-09 23:43:17
1楼
感谢楼主分享。应该加精。

QQ19001579

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2011年12月21日
发表于:2012-01-10 14:57:17
2楼
感谢楼主分享。应该加精。       

门徒

  • 精华:2帖
  • 求助:1帖
  • 帖子:28帖 | 689回
  • 年度积分:0
  • 历史总积分:3245
  • 注册:2011年9月22日
发表于:2012-08-01 18:17:11
3楼

对网友求助问题的几个回帖展示之一:http://bbs.gongkong.com/Details/201112/2011120414133000003-1.shtml

SSI ļʱ