用S7-200Smart编写一类公式的思路

已锁定

holdkcsxyz

西门子1847工业学习平台

  • 帖子

    1577
  • 精华

    24
  • 被关注

    163

论坛等级:至圣

注册时间:2015-06-03

白金 白金 如何晋级?

用S7-200Smart编写一类公式的思路

1881

1

2016-10-03 09:55:00


                                    用S7-200Smart编写一类公式的思路

   讲一个很多人讲过的,对入门者可能有帮助的内容。文字中第一个公式参考了成熟的资料,其余文字都是自己敲出,如有错漏欢迎拍砖。

   虽然PLC基本由对底层时序锱铢必较的“小”视野转向了模块化,工业化,网络化,标准化的大应用,但了解一些计算的细节仍有必要。

    针对时不变系统的增量式PID:Δy(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]的差分方程计算。

在SMART中的实现思路如下:

1:连接一个采样时间合适的定时中断,在定时中断中编制上述公式。

2:e(k):设定值标量化(工控机触摸屏等上位机给定)减去本次采样值标量化(如AIW4标量化得到)得到本次的标量化偏差值,在合适的定时采样中断中计算得到该偏差。

3:Δy(k)在合适的定时采样中断中按照上面的差分方程计算得到(并标量化反应在AQW或一定的占空比输出)。其中涉及的变量均可以用全局V区或优化成局部的L区来完成简易计算的编写。

4:中断子程序中完成差分方程计算后的网络中针对e(k-1)、e(k-2)两个变量均可由时不变系统的平移特性,按照循环扫描方式得到:先将e(k-1)复制给e(k-2);然后将e(k)复制给e(k-1)且顺序不应错乱,否则有覆盖非交换以及数据更新错误的风险。

5:这样赋值更新是典型的FIFO队列,因此利用SMART构造e(k)的FIFO并配合指针的加减运算应该是效率较好,较简洁的编程方式。针对单变量以及多变量非耦合或已解耦的数据处理场合FIFO(包括通讯缓冲),LIFO等数据结构很重要。

6:针对各种变形反馈控制差分方程也可以这样考虑。(不完全微分,积分分离,微分先行等等)

7:针对y(k)+y(k-5)=e(k)-e(k-1)这种离散化得到的看似稍微奇葩点的差分方程(可能不是PID而是其它关系类型如下图仅仅存在于理论上的前馈差分方程等等)。


8:在SMART中可以在中断计算完成后的网络中这样考虑数据的平移更新:将e(k)复制给e(k-1);多几个y(k)的中间变量且不能省去,因为y(k-4)等中间过程和结果y(k-5)一样重要:具体做法可将y(k-4)复制给y(k-5)、y(k-3)复制给y(k-4)、y(k-2)复制给y(k-3)、y(k-1)复制给y(k-2)、y(k)复制给y(k-1)次序很关键;也可以分别构造e(k)(至少需要2个数据)及y(k)(至少需要6个数据,具体根据差分方程样式确定合适数组的数据个数以节省内存)的FIFO并配合指针的加减运算来紧凑、高效,因地制宜地编程。

9:新推出的SMART运算速度很快,更是给出了几个货真价实的、最小时序为1MS的定时中断,因此驾驭稍微简单的差分运算应该不成问题。(1MS基本满足很多离散化采样计算的时序要求,不含复杂的运动控制)

10:SMART还支持在中断里嵌套稍多层的子程序,因此上述计算均优化为局部变量编程不难。






用S7-200Smart编写一类公式的思路 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9387条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。