回复:分享一个S7-1200 PID闭环运算程序

eagleking68

  • 帖子

    49
  • 精华

    0
  • 被关注

    7

论坛等级:侠客

注册时间:2013-01-19

白金 白金 如何晋级?

发布于 2019-12-10 08:59:43

12楼

我也贴一段,PID自制,但是是200的。

内存地址偏移量 域 格式 描述

VD 0 过程变量(PVn) REAL 0.0~1.0

VD 4 设定值(SPn) REAL 0.0~1.0

VD 8 输出值(Mn) REAL 0.0~1.0

VD 12 积分项前项(MX) REAL 0.0~1.0

VD 16 过程变量前值(PVn-1) REAL 最后一次PID运算的过程变量值

VW 20 增益(Kc) INT -9999~9999(对应-999.9-999.0)

VW 22 积分时间(Ti) INT 0~3600秒

VW 24 微分时间(Td) INT 0~3600秒

VW 26 采样时间(Td) INT (定为1S)

VW 28 脉宽周期 INT 1~255妙

VW 30 采样累计时间 INT 单位为毫秒

VD 34 脉宽输出周期计时 DINT 单位为毫秒

调用此程序时,须指定:增益(Kc)、积分时间(Ti)、微分时间(Td)、脉宽周期等参数。

TITLE=

Network 1 

LD     SM0.0

LPS

MOVD   LD5, LD16

AENO

+D     +16, LD16

AENO

MOVR   *LD5, *LD16

LPP

A      SM0.1

LPS

MOVD   LD5, LD16

AENO

+D     +12, LD16

AENO

MOVR   0.01, *LD16

LPP

MOVD   LD5, LD16

AENO

+D     +34, LD16

AENO

MOVD   +0, *LD16

Network 2 

LD     SM0.0

LPS

ITD    LW1, LD12

-D     +0, LD12

DTR    LD12, LD20

/R     10000.0, LD20

AR>    LD20, 1.0

MOVR   1.0, LD20

LRD

AR<    LD20, 0.0

MOVR   0.0, LD20

LPP

MOVR   LD20, *LD5

Network 3 

LD     SM0.0

LPS

ITD    LW3, LD46

AENO

DTR    LD46, LD50

LRD

-R     0.0, LD50

AENO

/R     10000.0, LD50

LRD

AR>    LD50, 1.0

MOVR   1.0, LD50

LRD

AR<    LD50, 0.0

MOVR   0.0, LD50

LRD

MOVD   LD5, LD12

+D     +4, LD12

LPP

MOVR   LD50, *LD12

Network 4 

LD     SM0.0

LPS

MOVD   LD5, LD16

+D     +30, LD16

+I     SMW22, *LD16

LDW<   *LD16, +1000

ON     L0.0

ALD

JMP    1

LPP

LDW>=  *LD16, +1000

O      SM0.1

ALD

MOVW   +0, *LD16

Network 5 

LD     SM0.0

LPS

MOVD   LD5, LD12

AENO

+D     +4, LD12

AENO

MOVR   *LD12, LD20

-R     *LD5, LD20

LRD

MOVD   LD5, LD12

AENO

+D     +20, LD12

AENO

ITD    *LD12, LD16

AENO

DTR    LD16, LD24

LPP

MOVR   LD20, LD30

*R     LD24, LD30

Network 6 

LD     SM0.0

LPS

MOVD   LD5, LD12

AENO

+D     +22, LD12

AENO

ITD    *LD12, LD16

AENO

DTR    LD16, LD24

LRD

MOVR   LD30, LD20

/R     LD24, LD20

LRD

MOVD   LD5, LD12

+D     +12, LD12

LRD

MOVR   LD20, LD34

+R     *LD12, LD34

LPP

MOVR   LD34, *LD12

Network 7 

LD     SM0.0

LPS

MOVD   LD5, LD12

AENO

+D     +16, LD12

AENO

MOVR   *LD12, LD20

-R     *LD5, LD20

LRD

MOVD   LD5, LD12

AENO

+D     +20, LD12

AENO

ITD    *LD12, LD16

AENO

DTR    LD16, LD24

LRD

*R     LD24, LD20

LRD

MOVD   LD5, LD12

AENO

+D     +24, LD12

AENO

ITD    *LD12, LD16

AENO

DTR    LD16, LD24

LPP

MOVR   LD24, LD38

*R     LD20, LD38

Network 8 

LD     SM0.0

LPS

MOVR   LD30, LD20

+R     LD38, LD20

MOVD   LD5, LD12

+D     +8, LD12

MOVR   LD20, *LD12

+R     LD34, *LD12

AR>    *LD12, 1.0

MOVR   1.0, *LD12

MOVD   LD5, LD12

+D     +12, LD12

MOVR   1.0, *LD12

-R     LD20, *LD12

LRD

AR<    *LD12, 0.0

MOVR   0.0, *LD12

MOVD   LD5, LD12

+D     +12, LD12

MOVR   0.0, *LD12

-R     LD20, *LD12

LPP

LPS

MOVD   LD5, LD12

+D     +12, LD12

AR>    *LD12, 1.0

MOVR   1.0, *LD12

LPP

AR<    *LD12, 0.0

MOVR   0.0, *LD12

Network 9 

LBL    1

Network 10 

LD     SM0.0

LPS

MOVD   LD5, LD12

AENO

+D     +34, LD12

AENO

ITD    SMW22, LD16

AENO

+D     LD16, *LD12

LRD

MOVD   LD5, LD12

AENO

+D     +28, LD12

AENO

MOVW   *LD12, LW44

AENO

MUL    +1000, LD42

AENO

DTR    LD42, LD20

LRD

MOVD   LD5, LD16

AENO

+D     +8, LD16

AENO

AN     L0.0

MOVR   0.0, *LD16

LRD

*R     *LD16, LD20

AENO

ROUND  LD20, LD16

LRD

AD<    LD16, +10

MOVD   +0, LD16

LRD

MOVD   LD5, LD12

+D     +34, LD12

LRD

AD>=   *LD12, LD42

MOVD   +0, *LD12

LPP

AD>    LD16, *LD12

A      L0.0

=      L11.0

Network 11 

LD     SM0.0

LPS

MOVD   LD5, LD12

AENO

+D     +8, LD12

AENO

MOVR   *LD12, LD20

*R     32000.0, LD20

LPP

ROUND  LD20, LD16

AENO

DTI    LD16, LW9

Network 12 


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15113条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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