德国西门子安徽PLC模块一级代理
根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对??Q0.0来说是SMW68与SMD72)。当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
???还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的?控制字,再启动PLS即可,程序如下:
2.高速计数功能。
???西门子S7-200系列PLC具有高速计数的功能;举一例子来谈谈高速计数的用途,我们采用普通电机来带动丝杆转动,我们想控制转动距离,怎么来解决这个问题?那么我们可在电机另一头与一编码器联接,电机转一圈,编码器也随之转一圈,同时根据规格发出不同的脉冲数。当然,这些脉冲数的频率比较高,PLC不能用普通的上升沿计数来取得这些脉冲,只能通过高速计数功能了。
???启动高速计数功能,也要具有控制字
HSCO HSC1 描述
?SM37.0 ?SM47.0 ?复位有效电平控制位 0=高电平有效, 1=低电平有效
?SM37.1 ?SM47.1 ?启动有效电平控制位于 0=高电平有效, 1=低电平有效
?SM37.2 ?SM47.2 ?正交计数器速率选择 0=4X计数率, 1=1X计数率
?SM37.3 ?SM47.3 ?计数方向控制位 0=减计数, 1=正计数
?SM37.4 ?SM47.4 ?向HSC中写入计数方向 0=不更新, 1=更新计数方向
?SM37.5 ?SM47.5 ?向HSC中写入预置值 0=不更新, 1=更新预置值
?SM37.6 ?SM47.6 ?向HSC中写入当前值 0=不更新, 1=更新当前值
?SM37.7 ?SM47.7 ?HSC允许 0=禁止HSC, 1=允许HSC
??参照上面的表格,我们选择HSC1高速计数器,控制字为SMB47,现在我们启动高速计数器HSC1,选择为增计数,更新计数方向,重新设置值,更新当前值:这样的话,HSC1的启动控制高为:11111000转化为16进制为?F8,将启动计数器时当前值存放在SMD48中,将预存置放在SMD52中,具体的程序?如下:
同样的,如果计数器在工作状态下想停止计数器,也必须改变它的控制字后,启动HSC具体程序?如下:
3. PID回路控制功能。
??西门子S7-200系列PLC的PID控制相当的简单,可以通过micro/win软件的一个向导程序,按照提示,一步一步执行您所要求PID控制的属性即可,在这里谈一谈PID这三个参数的具体意义:P为增益项,P越大,响应起就快,在调节流量阀时:设定流量为50%,当目前流量接近50%,刚超过,如果P值很大的话,那么流量阀会马上会关闭,而不会控制在某一区域。这就是增益项太大引起。在调节的过程中应该先将P值调节比较适当了,再去调节I值,它为积分项,是在控制器回路中控制对当前值与设定值相等的偏差范围。D为微分项,主要作用是避免给定值的微分作用而引起的跳变。
??在现场的PID参数的调整过程中,针对西门子S7-200型PLC我的建议是在不同的控制阶段,采用不同的PID参数组,具体而言就是当目前距离设定值差距较大时,采用P值较大的一套PID参数,如果当前值快接近设定值范围时,采用P值较小的一套PID参数
西门子电机6SL3120-1TE31-3AA3
在S7-200编程中,子程序想必大家都用过,使用子程序可以更好地组织程序结构,便于阅读和调试,也可以缩短程序代码。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器之外,还有子程序中局部变量的特点,在编程多次调用带参数子程序时要特别注意。下面就是前些天热线上遇到的一个Case,非常有代表性,在这里跟大家分享。
E:您好,西门子技术支持。
C:您好,我想问下,200子程序是不是多次调用时会不好使?
E:不会啊,您是不是在子程序里使用了沿指令或者定时器?
C:没有啊,我就编了一句很简单的开关程序,开关闭合,线圈导通,然后主程序里调用了两次这个子程序,结果个I点闭合了,两个Q点都导通了。