登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:关于PLC300指针的问题

点击:1534 回复:9

首先说说目的:想做一个模糊PID,就是根据偏差和偏差变化率,来查询规则表从而得到相应的KP,KI,KD。就这样
程序包含OB1(仅仅用于偏差及偏差变化率的论域量化,这个没什么问题),OB35(里面调用PID的FB41),系统自动生成的FB41及背景数据块DB41,DB1(里面做的数组,就是PID的规则表)。上面这些是没问题的,现在由偏差及偏差变化率查表,需要用到指针,指针程序如图,程序有问题吗?我放在OB1里面,或者放在OB35里面都运行不了,SF红灯亮。CRTL+D信息如图。这个问题折磨一天了,没搞出来。请指点,谢谢!!!
附件 1222.jpg
附件 111111.jpg
14-12-16 21:18
这说明MD144,MD148,MD152里装载的不是指针数据!操作系统找不到地址!
最后修改:2014/12/16 21:47:00
14-12-16 21:46
偶问一下,这模糊控制好用么?若现场仪场原因,pID参数其不乱套了
14-12-17 08:27
附件 EER.jpg
其他程序运行正常,就它不正常,里面MD148有问题,MD144和MD152都对。
我推断应该是MD148这里有问题,但是程序也没什么啊,看不出哪里错了
前面MD148如图
附件 3333.jpg
请指点,谢谢!!!
最后修改:2014/12/17 19:32:36
14-12-17 19:30
请将用于间接寻址的数据左移3位,形成指针格式。
例如:
L MD144
SLD 3
T MD144
OPN DB1
L DBD[MD144]
14-12-17 19:36
表情非常非常感谢!!!!!很有用!!解决问题了,嗯,前三位应该留给bite的,谢谢!!!
不过还有一个问题,我需要三个指针。也就是MD144,MD148,MD152。格式应该怎么写?
L MD144
SLD 3
T MD144
OPN DB1
L DBD[MD144]
T MD8
L MD148
SLD 3
T MD148
OPN DB1
L DBD[MD148]
T MD12
L MD152
SLD 3
T MD152
OPN DB1
L DBD[MD152]
T MD16
,,,,,,,,,
还是应该
L MD144
SLD 3
T MD144
L MD148
SLD 3
T MD148
L MD152
SLD 3
T MD152
OPN DB1
L DBD[MD144]
T MD8
L DBD[MD148]
T MD12
L DBD[MD152]
T MD16
请指点,谢谢!!
14-12-17 19:54

引用 neverland36 在 2014/12/17 19:54:23 发言【内容省略】

这两种方式没有区别。
14-12-17 20:06
谢谢!
14-12-17 20:30
谢谢!想的很全面。模糊PID的优势,调节快超调小,但是控制参数是固定的。这个问题,是否可以采用控制方式的切换,正常情况下模糊PID,出问题(超出正常范围设定值)自动切换到PID自整定。
14-12-18 10:30
学习了。
14-12-18 11:10

工控新闻

更多新闻资讯