对网友求助问题的几个回帖展示之三十七 点击:844 | 回复:8



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-07-08 16:55:56
楼主

         对网友求助问题的几个回帖展示之三十七

   本文3例都是在网上回答网友的求助帖,其前二贴是关于PLC编程的,第三贴是关于“通过模拟量输入实现电机正反转”,本帖用二种方案进行解答:第一方案为选用模拟量输入模块配合PLC编程实现的,第二方案是采用硬件比较电路,直接产生使电机正向与反相运行的启动命令信号输入给PLC输入端,第二方案不仅节省一个模拟量输入输出模块,使其设计费用大为降低,而且使PLC编程变的更简单明了。现整理汇编展示给大家,供大家参考。

   一、求助帖:我想用实现两组输出循环中的小循环。I0.3和I0.4分别启动第一组输出和第二组输出。其一组为Q0.0和Q0.1,循环间隔2S,第二组为Q0.3和Q0.4,循环间隔也是2S,若第一组循环持续10S自动切换到第二组循环,第二组持续10S后切换至第一组,以此类推。我吧第一组循环放到子程序1,第二组循环放到子程序2.主程序放两个子程序的循环。但是结果不尽人意啊   求助大神!!!

回复:按你的要求,编写如下程序,上机运行正确,供你参考

主程序:




SBR_1子程序:



SBR_2子程序:



   二、求助帖:怎么用人机把十进制数转化成ASCII ,这个十进制数不是定数 位数也不定 请教各位前辈应该怎么写这个程序

  回复:在如何编写把十进制数转化成ASCII的程序之前,应先知道十进制数与之对应ASIIC码的数学关系及将它们存放存储器的数制表示形式:

   1、每一位十进制数其值为0~9,其二进制值为:0000~1001,放在字节存储器将占用4个二进制数的位。一个字节内含8个二进制数的位,故一个字节可表示2位十进制数。这种用4位二进制数表示一位十进制数的数制叫BCD码。

   2、每一位十进制数“X”转换为ASIIC码的原则为:30+X   如 X=4,其对应ASIIC码=34,将其放入一字节存储器里用二进制数表示:0011_0100,用16进制数表示:16#34

   3、如被转换的十进制数最大为4位数,用BCD码表示可占一个字存储器空间,设为字存储器为MW10,MW10含2个字节,高字节为MB10,低字节为MB11。MB10的高4位为十进制数的千位数值,MB10的低4位为十进制数的百位数值。MB11的高4位为十进制数的十位数值,MB11的低4位为十进制数的个位数值。如将此4位十进制数转换为ASIIC码,需占用一个双字存储器空间,如VD10,它含有4个字节,每个字节代表一位ASIIC码,其每个字节的高4位数值皆=0011(3),低4位数为十进制数对应的数值,如十进制数1234,放入字存储器MW10里。其内容=0001_0010_0011_0100,用16进制数表示为:16#1234,转换为ASIIC码值放入VD10里,其内容=0011_0001_0011_0010_0011_0011_0011_0100,用16进制数表示:16# 31 32 33 34。

    了解上述3点,就可以很容易编出把十进制数转化成ASCII的程序:

    设MW10为4位十进制数存储区(存数形式为BCD码),VD10为转换为ASIIC码D的存数区。编程可以这样处理:

    1、将16#30303030送入VD10.

    2、将MB10右移4位送入MB8,再将MB8或入VB10。

    3、将MB10与16#0F相与,送入MB8,再将MB8或入VB11。

    4、将MB11右移4位送入MB8,再将MB8或入VB12。

     5、将MB11与16#0F相与,送入MB8,再将MB8或入VB13。

按这样步骤编程,其VD10的内容即为将MW10内的4位十进制数转换为ASIIC码值。


  三、求助帖:如何通过模拟量输入实现电机正反转

   通过0-10v模拟量输入控制直流电机或步进电机实现频繁正反转比如输入电压0-3v时控制电机正转,输入电压7-10v时电机反转,输入电压4-6v时电机静止。这个模拟量可能是频繁变化的。三菱plc可以实现吗?

   回复:有二种方法可以实现:

    1、加模拟量输入模块,配合编程可以实现:以S7-200为例,选用EM235模块,其输入量设为0~10V,对应数字量为0~32000,如输入为0~3V,对应数字量为0~9600,如输入为4~6V,对应数字量为12800~19200,如输入为7~10V,对应数字量为22400~32000。为避免输入量有死区(如3~4V与6~7V之间)应该为这样规定:<4V为电机正转,>7V为电机反转。4V ≤ 输入电压 ≤ 7V时,电机停。这样就可以这样编程:


 2、用硬件做比较电路:<4V使输入口I0.0=1(即电机正传启动),>7V时 I0.1=1(即电机反传启动),≥ 4V 且 ≤7V时 I0.0与 I0.1皆=0,即电机停车。见下图:


   U1A的3脚电压调整为4V,输入电压<4V时 I0.0=1、I0.1=0,电机正传。当输入电压≥4V且≤7V 时,I0.0=0、I0.1=0,即电机停。当输入电压>4V时 I0.0=0、I0.1=1,电机反传。其梯形图如下:

     这二个方案比较可以明显看出:第二方案不用模拟量输入模块,仅用一块LM358集成块、2个电阻、2个微调电阻组成的控制电路,用其输出的正转、反转2个输出点直接输入给PLC的2个输入口作为电机正反运行信号,不仅大大降低设计费用低(仅需几元钱),而且PLC编程也大为简单。

  本文到此结束,有不妥之处请给于指正。谢谢大家!





银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-07-16 08:03:57
1楼

好帖子顶起来;大家学习一下;                              

江湖走走--原创军团

  • [版主]
  • 精华:30帖
  • 求助:7帖
  • 帖子:836帖 | 7833回
  • 年度积分:193
  • 历史总积分:46108
  • 注册:2001年2月15日
发表于:2013-07-16 08:36:25
2楼

引用 银光人生—华 的回复内容: 好帖子顶起来;大家学习一下;             ... 


 必须的。

时三——王者之师

  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 1058回
  • 年度积分:0
  • 历史总积分:5014
  • 注册:2008年10月14日
发表于:2013-07-16 10:51:28
3楼

引用 江湖走走--原创军团 的回复内容: 引用 银光人生—华 的回复内容: 好帖子顶起来;大家学... 


 

王者之师——益家电气

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 39回
  • 年度积分:0
  • 历史总积分:94
  • 注册:2012年11月26日
发表于:2013-08-05 07:40:52
4楼

楼主师傅,真是好人啊。

一路前行

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 73回
  • 年度积分:0
  • 历史总积分:263
  • 注册:2010年6月21日
发表于:2013-08-05 16:46:29
5楼

   好帖,赞一个

fyc独家记影

  • 精华:1帖
  • 求助:3帖
  • 帖子:14帖 | 1802回
  • 年度积分:0
  • 历史总积分:2312
  • 注册:2012年1月09日
发表于:2013-08-05 19:39:18
6楼

引用 银光人生—华 的回复内容: 好帖子顶起来;大家学习一下;             ... 


 

电气刚上路

  • 精华:0帖
  • 求助:5帖
  • 帖子:33帖 | 452回
  • 年度积分:2
  • 历史总积分:745
  • 注册:2006年6月26日
发表于:2013-08-07 17:27:07
7楼

这真是好贴呀,我们这些初学者的福音呀!

梁山路远

  • 精华:0帖
  • 求助:5帖
  • 帖子:12帖 | 176回
  • 年度积分:0
  • 历史总积分:447
  • 注册:2012年10月19日
发表于:2013-12-14 21:41:56
8楼

大神啊,拜读了王工的很多帖子,发现王工在电气领域好像无所不能,对您的崇拜如滔滔江水连绵不绝啊,我时候能达到您这样的水平呢。


热门招聘
相关主题

官方公众号

智造工程师