西门子编程器s7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。在这里,和大家一起来讨论s7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子s7-200系列plc怎样来实现这个功能。
首先,确定使用哪个端口来发脉冲,如采用q0.0发脉冲,则它的控制字为smb67,脉冲同期为smw68,脉冲个数存放在smd72中,
下面是控制字节的说明:
q0.0 q0.1 控制字节说明
sm67.0 sm77.0 pto/pwm更新周期值 0=不更新,1=更新周期值
sm67.1 sm77.1 pwm更新脉冲宽度值 0=不更新,1=脉冲宽度值
sm67.2 sm77.2 pto更新脉冲数 0=不更新,1=更新脉冲数
sm67.3 sm77.3 pto/pwm时间基准选择 0=1微秒值,1=1毫秒值
sm67.4 sm77.4 pwm更新方法 0=异步更新,1=同步更新
sm67.5 sm77.5 pto操作 0=单段操作,1=多段操作
sm67.6 sm77.6 pto/pwm模式选择 0=选择pto,1=选择pwm
sm67.7 sm77.7 pto/pwm允许 0=禁止pto/pwm,1=允许
这样根据以上表格,我们得出q0.0控制字:smb67为:10000101
采用pto输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。10000101转化为16进制为85,有了控制字以后,我们来写这一段程序:
根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对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参数。