1 引言    随着PLC在工厂自动化中的广泛应用,各PLC生产商不断推承出新,功能更加完善,性能更加优异的PLC不断涌现。以德国西门子公司为例,90年代中期,继S5系列PLC之后,就相继推出了S7系列的PLC。该系列PLC不仅具有S5系列PLC的优点,而且更加注重功能的改进和集成。对于现在应用广泛的闭环控制、模拟量处理、通信联网、脉冲输出等均提供了相应的指令及使用途径。编程软件STEP 7为用户提供了界面友好且功能强大的开发工具。本文拟就S7-200系列PLC中CPU214通过与一台SIMOVERT微型主电机驱动器通信来起动、停止电机,以及改变电机的频率,介绍其特点并给出相应的应用程序流程图或源程序。  2 硬件要求    (1) 硬件组成    一台带输入仿真器的S7-200 CPU214,一根RS 485电缆,一台微型主电机驱动器和电机;    (2) 参数设置    正确地将电机和微型主电机驱动器接好线,并且所用电机和微型主电机驱动器的参数已通过人工设定,且微型主电机驱动器必须设置在遥控方式(P910=1),波特率:19.2kB(P92=7 ),地址1(P91=1);    (3) 接线方式    用一根带9针阳性插头的RS 485通信电缆接在S7-200 CPU214的1、3、8端上,电缆另一端是插孔,分别接到微型主电机驱动器的13、14、15端子上。    3 分析及说明    (1) S7-200自由通信口模式    S7-200 CPU214与SIMOVERT微型主电机驱动器通信是通过S7-200自由通信口模式进行的,使用USS5字协议。输入仿真器用来初始化发给电机驱动器的命令。用程序监视RUN/TERM开关,并选择相应的协议来设置自由通信口模式的控制字节(SMB30);    (2) 输入点分配    I0.0 上升沿有效 使电机以上次命令的恒定频率运转;    I0.2 上升沿有效 使电机以上次命令的频率开始变频运转;    I0.4 上升沿有效 停止电机;    I0.5 电平有效 以1或2倍率改变频率:    I0.5="0":1倍,I0.5="1":2倍;    I0.6 上升沿有效 以1或2倍频率增量增加电机频率;    I0.7 上升沿有效 以1或2倍频率增量降低电机频率;    I1.0 电平有效 控制电机旋转方向,I1.0=0:电机正转,I1.0=1:电机反转;    (3) 程序检测    首先对微型主电机驱动器的发送要计时,如果失败,允许再试发送,最多可试发送3次。然后,对来自微型主电机驱动器的接收也要计时,在退出发送接收操作之前可重试多达3次。对来自微型主电机驱动器的响应信息要进行有效性校验(STX,LEN,ADR及BCC),任何被检测到的错误都要进行显示;    (4) 输出点分配    QB0用来显示检测到的错误信息,具体显示含义如下:    "0"表示无错误;"1"表示非法的响应(除去坏的BBC);"2"表示坏的BBC;"3"表示发送超时;"4"表示接收超时。    4 程序结构    (1) 程序结构    整个控制程序由1个主程序(MAIN)、8个子程序(SBR 0-7)及4个中断程序(INT 0-3)组成。各程序所完成的功能如下:    l MAIN 主程序:监视用于自由通信口/PPI通信切换的RUN/TERM开关,寻找输入信号上升沿作为电机运行命令。    ? SBR0 设置自由通信口通信:首次扫描时设置自由通信口模式的参数。    ?SBR1 RUN子程序:设定电机恒速运转。    ?SBR2 RAMP子程序:设定电机变速运转。    ? SBR3 增加频率倍率的子程序:增加微型主电机驱动器的输出频率。    ?SBR4 降低频率倍率的子程序:降低微型主电机驱动器的输出频率。    ?SBR5 STOP子程序:停止电机。    ?SBR6 计算输出信息的BCC。    ?SBR7 发送信息,初始化发送定时器。    ? INT0 发送(XMT)中断处理程序,打开接收器。    ? INT1 发送超时的中断处理程序,最多试发3次。    ?INT2 接收字符的中断处理程序。    ? INT3 接收超时的中断处理程序,最多试收3次。    (2) 程序流程图如图1所示。    图1 程序流程图    5 程序及注释    由于文章篇幅的限制,在此仅给出与通信有关部分的源程序。    SBR 7 //初始化XTM及XTM定时器    XMT VB99,0 //发送    ATCH 0,9 //捕捉XTM发送中断,并    //调用中断程序0    MOVB 255,SMB34 //设置XTM定时器255MS    ATCH 1,10 //捕捉XTM定时器中断,    //并调用中断1    RET    INT 0 //中断程序0,XMT发送中断处理,    //关XMT定时器    DTCH 10 //退出XMT定时器    DTCH 9 //中止XMT事件    MOVW 3,VW204 //刷新XMT重试次数    MOVW 14,VW208 //响应信息中接收的字符数    MOVW 0,VW215 //清BCC累加器    MOVD &VB114,VD211 //设置接收缓冲区指针    ATCH 2,8&n bsp; //捕捉RCV(接收)中断,并    //调用中断程序2    ATCH 3,10 //捕捉接收定时器中断,并调    //用中断程序3    RETI    INT 1 //定时器中断0处理--发送    DTCH 9 //停止XMT(发送)    DTCH 10 //退出定时器    DECW VW204 //重试次数减1,若为0,且    LD SM1.0 //SM1.0=1,则    MOVB 3,VB210    MOVB 3,QB0 //用QB0指示发送超时    MOVW 3,VW204 //刷新发送重试计数    S M0.0,1 //使RUN、RAMP有效    CRETI //条件返回    XMT VB99,0 //重试发送    ATCH 0,9 //捕捉XMT中断,并调用    //中断程序0    MOVB 255,SMB34 //设置XMT定时器为避    //免55mS    ATCH 1,10 //捕捉定时中断,并调用    //中断程序    RETI    INT 2 //接受字符处理    MOVB SMB2,AC0 //得到接收字符    XORW AC0,VW215 //累积BCC    MOVB AC0,*VD211 //把接收到的字符送    //入缓冲区    INCD VD211 //缓冲区指针加1    DECW VW208 // 有待接收的字符总数减1    LDN SM1.0 //检验是否结束    CRETI    NOT    DTCH 10 //退出接收定时器    DTCH 8 //关接收    AB= 0,VB216 //检验已算好的BCC是否为0    NOT    MOVB 2,VB210 //坏的BCC操作码    MOVB 2,QB0    JMP 0    LDB= VB114,16#02 // STX第一个字符吗    AB= VB115,16#0C //长度=12吗?    AB= VB116,VB102 //将信息发往同一从    //设备吗?    MOVB 0,VB210 //操作正确    MOVB 0,QB0    JMP 0    LD SM0.0    MOVB 1,VB210 //信息中有不对的地方    MOVB 1,QB0    LBL 0    MOVW 3,VW206 //刷新接收可重试次数    RETI    INT 3 //定时器中断0处理-接收   
我们公司主营柔性振动盘、柔性供料器、非标自动化设备、柔性振动盘、柔性生产线、柔性自动上料系统、并联机器人摆盘机、视觉自动分拣设备、柔性上料工作站、视觉检测机等业务,厂家直营,支持定制,免费获取全套方案。
本文来源于互联网,我们本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。
 
		服务区域:
		
广东
	上海
			      江苏
				     北京
      重庆
      浙江
      云南
      新疆
      西藏
      天津
      台湾
      四川
     
      陕西
      山西
      山东
      青海
      宁夏
      内蒙古
      辽宁
      江西
   
      吉林
      湖南
      湖北
      黑龙江
      河南
      河北
      海南
      贵州
      广西
      甘肃
      福建
   
      安徽