lanjinghao
师夷洋技以制夷!!!
级别: 略有小成
精华主题: 0
发帖数量: 21 个
工控威望: 234 点
下载积分: 600 分
在线时间: 21(小时)
注册时间: 2009-05-06
最后登录: 2012-09-18
查看lanjinghao的 主题 / 回贴
楼主  发表于: 2009-07-15 10:58
  程序说明:EM235用采样交流电压信号,1ms执行一次采样中断。将采样值存储到VW4000~VW4198中100个空间。并将VW4000~VW4198的值在触摸屏显示出来,用于观察交流电压信号波形。现在建立一个指针VD4488,并且把指针指向VW4000地址。然后将AIW0赋给×VD4488,然后VD4488加2进行指针偏移。当VD4488=4198时再重新初始化指针VD4488。

AIW0数据处理




数据存储处理




-----------------------
现在问题出来了: VD4488的值竟然为134222128,而不是4000~4198之间的值。无法执行指针偏移以下的指令。这是为什么啊?VD4488存储空间的值应该是个地址啊,怎么会是134222128?
伟大的光荣的正确的中国人民万岁!!
醉湮邃虞
醉湮邃虞话老黑
级别: 略有小成
精华主题: 0
发帖数量: 229 个
工控威望: 409 点
下载积分: 1577 分
在线时间: 209(小时)
注册时间: 2009-01-16
最后登录: 2015-03-18
查看醉湮邃虞的 主题 / 回贴
1楼  发表于: 2009-07-17 12:21
感觉你有概念性的错误。网络2是中断程序吧?
首先VD4488中如果是PLC的地址,那个数值是没有错误的,在PLC表示的绝对地址的表述是那样的。所以网络2中的比较指令是错误,比较指令错误的。如果需要,你比须这样试验一下:
MWD &VB4000 VD0
mwd &vb4198 vd4
运行后观察 VD0和VD4的值。不同类型的PLC可能数值也不相同,
我用的224XP,这分别是:134221728 和 134221926


你的指针赋值也有问题,建议你在VD4448中,放置偏移量。
然后这样
赋值指针:
MOVD  &VB4000 ,AC1
ADD AC1,VD4488
保存数据及修正指针
MOVE 数据 *AC1
INC  VD4488
INC  VD4488
IF VD4488>100 than vd4488=0
中断返回

你的程序中,找不到指针移动的语句。或许你在中断以外移动了。(这不可能)
或许你认为那句是移动了,但是按照你程序的思想,你使用了>号,故移动指针指令是不执行的(实际因为概念性错误是永远执行的,指针数据因此在大约4秒后,遭到破坏)、而而指针初始化操作的地址,VD4488也写成了,VD488,所以,你的中断程序没有对指针进行任何操作。

这样程序很清晰,AC0中是数据,AC1是地址指针。VD4488中是偏移量

这样做还有个好处,特别是指针操作,使用累加器比使用内存来的快的多。毕竟你的程序使用了1毫秒中断,需要很高的处理速度,有可能会发上上个中断还没处理完,另个中断已经到来了,会发生中断队列溢出,、而而造成系统崩溃或采集数据失真。PLC的扫描周期通常在7毫秒左右,视程序大小,大的会长些,小的会短些。
你中断程序中竟然还要调用子程序,你应该把数据准备好,或者直接读取原始数据,分析与处理放在中断以外。

其实你完全没有必要使用1毫秒中断,触摸屏的显示与PLC中的数据通常不同步,长的能相差2秒以上呢。如果把中断调整到10或50毫秒,调试起来会很轻松。也没必要追求指令执行时间。
[ 此帖被醉湮邃虞在2009-07-17 13:04重新编辑 ]
本帖最近评分记录:
  • 下载积分:+5(sjm213) 优秀文章,加分奖励
  • 棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812
    醉湮邃虞
    醉湮邃虞话老黑
    级别: 略有小成
    精华主题: 0
    发帖数量: 229 个
    工控威望: 409 点
    下载积分: 1577 分
    在线时间: 209(小时)
    注册时间: 2009-01-16
    最后登录: 2015-03-18
    查看醉湮邃虞的 主题 / 回贴
    2楼  发表于: 2009-07-18 10:32
    你是要用图形显示数据吧?
    作一下数据转换,不过要知道最大值或最小值。
    比如最小值是-2000,最大值是+5000
    将-2000---+5000转换为0--6999的数据,就可以处理了
    棋牌比赛免费得实物,闲暇好去处
    http://www.jj.cn/indexTG.html?promoterid=108502812