• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
楼主  发表于: 2009-08-25 16:39
图片:
AQW0是PID向导生成的PID0_INIT子程序调用参数所得

foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
1楼  发表于: 2009-08-25 16:44
图片:
在向导符号表PID0_SYS中,Output 的数据类型为双字(VD128)
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
2楼  发表于: 2009-08-25 16:49
图片:
Output 的数据类型为双字,那么AQW0的类型也是双字,

现要把AQW0的值放入VD4中出错,既然数据类型是相同的,为何不能用MOV_DW指令出错?
xxiaomi
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看xxiaomi的 主题 / 回贴
3楼  发表于: 2009-08-25 20:42
你的第一个图是输出局部变量Output,第二个图是全局变量PID0_Output

这是两个不同的参数,怎可能混淆一起呢?

yumiqing@126.com
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
4楼  发表于: 2009-08-26 07:43
引用
引用第3楼xxiaomi于2009-08-25 20:42发表的  :
你的第一个图是输出局部变量Output,第二个图是全局变量PID0_Output

这是两个不同的参数,怎可能混淆一起呢?

yumiqing@126.com

Output 是子程序PID0_INIT 的局部变量这没有错,调用后其值存入AQW0中了


那么Output 和AQW0的数据类型是相同的,没有混淆。现要把AQW0中的数据

存入VD中,存不进去。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6740 个
工控威望: 37095 点
下载积分: 9274 分
在线时间: 9404(小时)
注册时间: 2006-09-13
最后登录: 2024-05-21
查看cvlsam的 主题 / 回贴
5楼  发表于: 2009-08-26 09:11
A-------模拟量   Q---------输出  W--------------字

存入DWord-------------------------这是梦想?

1、存入Word
2、扩展为Dword
3、存入VD
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
6楼  发表于: 2009-08-26 11:06
图片:
AQW0 存入 WORD 也存不进
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
7楼  发表于: 2009-08-26 11:12
图片:
引用
引用第5楼cvlsam于2009-08-26 09:11发表的  :
A-------模拟量   Q---------输出  W--------------字

存入DWord-------------------------这是梦想?

1、存入Word
.......

AQW0 是调用向导生成的 PID_INIT 子程序生成的。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6740 个
工控威望: 37095 点
下载积分: 9274 分
在线时间: 9404(小时)
注册时间: 2006-09-13
最后登录: 2024-05-21
查看cvlsam的 主题 / 回贴
8楼  发表于: 2009-08-26 14:33
AQW作為只讀,你不可以將其移入存儲器。

因此,你只能對于你向導生成的全局數據進行。

正如你上面的貼圖有寫道:VD128(標準化回路計算值),根據S7-200系統手冊第152頁表6-44(PID回路表)中描述,該計算值為一個浮點(REAL)數據。

因此,你如果要獲取PID的AQW的輸出值,你需要來通過MOV_R來將VD128讀取入寄存器,因為VD128中的數據為0.0~1。0之間的浮點數,對于輸出來說,會依據系統手冊第149頁中的回路值轉換為刻度值公式進行轉換,你同樣也可以使用該公式對你先前保存的VD128的值進行轉換。

以上
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
9楼  发表于: 2009-08-26 17:06
图片:
图片:
图片:
图片:
引用
引用第8楼cvlsam于2009-08-26 14:33发表的  :
AQW作為只讀,你不可以將其移入存儲器。

因此,你只能對于你向導生成的全局數據進行。

正如你上面的貼圖有寫道:VD128(標準化回路計算值),根據S7-200系統手冊第152頁表6-44(PID回路表)中描述,該計算值為一個浮點(REAL)數據。
.......



cvlsam 你说的太好了,我是想把AQW0(VD128)的值标准化为频率值在触摸屏上显示,因此想把该值存入VD8中。


但是我觉得向导中的VD128是局部变量,不是全局变量。因此在主程序中读不到它的值。

图中PIN_INIT监控的AQW0 的值为6400

VD128 MV_R 中其值为0.0,两者不一样

还是没法将频率值读出
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6740 个
工控威望: 37095 点
下载积分: 9274 分
在线时间: 9404(小时)
注册时间: 2006-09-13
最后登录: 2024-05-21
查看cvlsam的 主题 / 回贴
10楼  发表于: 2009-08-26 21:39
请贴上你的向导设置中对于输入输出的图。

VD128不是全局变量?都已经使用到物理地址了。

如果你使用了4-20mA的输出,那么 当0,也就是4mA时,自然是输出6400~~
foxplc
水到渠成
级别: 家园常客
精华主题: 2 篇
发帖数量: 550 个
工控威望: 628 点
下载积分: 4239 分
在线时间: 112(小时)
注册时间: 2007-08-09
最后登录: 2021-11-22
查看foxplc的 主题 / 回贴
11楼  发表于: 2009-08-27 09:00
图片:
我对于问题领悟不对,不知能否提供《s7-200系统手册》
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go