300PLC问题求助,高手请进 点击:762 | 回复:10



haijiangvip

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2012年4月12日
发表于:2012-11-19 14:32:49
楼主
求助帖10分-已结帖

目前我用300PLC要做这样一个程序,希望大家给指教一下
在我的数据块DB1中依次存放着若干数:
温度 20℃ 是DBW0:10
温度21℃ DBW2:12
温度22℃ DBW4:7
温度23℃ DBW6:17
........
根据AI输入的采集温度,然后与取出DB数据块的数存放在MW10中。
举个例子,假设我通过程序读取的值AI=23,那么应该把DBw6的17这个数 这个数存放到 MW10 中。
用300PLC如果实现这个功能呀,跪求大虾们解答,不胜感激涕零。

 




???

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 236回
  • 年度积分:0
  • 历史总积分:925
  • 注册:2003年8月13日
发表于:2012-11-19 17:27:20
1楼
      OPN   DB     1   
      L     "AI"
      L     20
      -I   
      L     2
      *I   
      SLD   3
      T     LD     0
      L     DBW 【LD 0】
      T     MW    10

haijiangvip

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2012年4月12日
发表于:2012-11-19 18:24:50
2楼
回复内容:
对:???关于      OPN   DB     1         L     "AI"      L     20      -I          L     2      *I          SLD   3      T     LD     0      L     DBW 【LD 0】      T     MW    10内容的回复:


大侠我试了您留下的笔迹,可是不行呀,还请再给解答一下,谢谢。

kskstiy-王者之师军团

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 379回
  • 年度积分:0
  • 历史总积分:2649
  • 注册:2010年8月30日
发表于:2012-11-19 18:49:52
3楼

OPN  DB1

L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)

L  20

- I

L 2

*I

SLW 3

LAR1

L  DBW【AR1,P#0.0】

T  MW10

飘过。。。

kskstiy-王者之师军团

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 379回
  • 年度积分:0
  • 历史总积分:2649
  • 注册:2010年8月30日
发表于:2012-11-19 18:54:31
4楼

引用 ??? 的回复内容:      OPN   DB     1         L     "AI"      L     20      -I          L     2      *I          SLD   3      T     LD     0      L     DBW 【LD 0】      T     MW    10




这位兄弟如果用SLD3的话,就是左移3位,如果放进地址寄存器里,你这步是对的,但是你后面没用LAR1,所以错了

如果直接赋值给T LD0,那你的SLD3就不需要了,因为前面的结果*2就是DBW【LD0】的地址了。你在左移三位。。。

haijiangvip

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2012年4月12日
发表于:2012-11-20 08:26:49
5楼
回复内容:
对:kskstiy-王者之师军团关于OPN  DB1L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)L  20- I L 2*ISLW 3AR1L  DBW【AR1,P#0.0】T  MW10飘过。。。内容的回复:


大侠我把你的程序拷贝过去,在AR1这一步就报错,提示不是有效的指令,这是为什么

???

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 236回
  • 年度积分:0
  • 历史总积分:925
  • 注册:2003年8月13日
发表于:2012-11-20 08:35:08
6楼
你变通一下。在着之前要先把"AI" 的值限定在20至23之间就不报错了。

kskstiy-王者之师军团

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 379回
  • 年度积分:0
  • 历史总积分:2649
  • 注册:2010年8月30日
发表于:2012-11-20 08:50:41
7楼
回复内容:
对:haijiangvip关于回复内容:对:kskstiy-王者之师军团关于OPN  DB1L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)L  20- I L 2*ISLW 3AR1L  DBW【AR1,P#0.0】T  MW10飘过。。。内容的回复:大侠我把你的程序拷贝过去,在AR1这一步就报错,提示不是有效的指令,这是为什么 内容的回复:


SORRY,应该是LAR1,这步是把累加器的值加载到地址寄存器中,也就是上面的换算结果存到AR1中

haijiangvip

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2012年4月12日
发表于:2012-11-20 10:27:15
8楼

回复内容:
对:kskstiy-王者之师军团关于回复内容:对:haijiangvip关于回复内容:对:kskstiy-王者之师军团关于OPN  DB1L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)L  20- I L 2*ISLW 3AR1L  DBW【AR1,P#0.0】T  MW10飘过。。。内容的回复:大侠我把你的程序拷贝过去,在AR1这一步就报错,提示不是有效的指令,这是为什么 内容的回复:SORRY,应该是LAR1,这步是把累加器的值加载到地址寄存器中,也就是上面的换算结果存到AR1中 内容的回复:


 大侠,我仿真了你的程序,仿真器一运行就马上就死掉了。  求解释 ,难道是我的仿真器出问题了,你是怎么仿真的。能否发一份haijiangvip@163.com

OPN   DB     1

      L     MW     6

      L     20
      -I   

      L     2

      *I   

      SLW   3

      LAR1 
      L     DBW 【AR1,P#0.0】
      T     MW    10

kskstiy-王者之师军团

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 379回
  • 年度积分:0
  • 历史总积分:2649
  • 注册:2010年8月30日
发表于:2012-11-20 12:32:08
9楼

引用 haijiangvip 的回复内容:回复内容:对:kskstiy-王者之师军团关于回复内容:对:haijiangvip关于回复内容:对:kskstiy-王者之师军团关于OPN  DB1L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)L  20- I L 2*ISLW 3AR1L  DBW【AR1,P#0.0】T  MW10飘过。。。内容的回复:大侠我把你的程序拷贝过去,在AR1这一步就报错,提示不是有效的指令,这是为什么 内容的回复:SORRY,应该是LAR1,这步是把累加器的值加载到地址寄存器中,也就是上面的换算结果存到AR1中 内容的回复: 大侠,我仿真了你的程序,仿真器一运行就马上就死掉了。  求解释 ,难道是我的仿真器出问题了,你是怎么仿真的。能否发一份haijiangvip@163.com OPN   DB     1      L     MW     6      L     20      -I          L     2      *I          SLW   3      LAR1        L     DBW 【AR1,P#0.0】      T     MW    10


你的MW6要大于=20才可以,因为我是按照你的20做起点的

仿真器死机,你的DB块有没有定义好?

我没仿真,这些东西经常写的,所以不会出错的

haijiangvip

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2012年4月12日
发表于:2012-11-20 13:36:18
10楼
回复内容:
对:kskstiy-王者之师军团关于引用 haijiangvip 的回复内容:回复内容:对:kskstiy-王者之师军团关于回复内容:对:haijiangvip关于回复内容:对:kskstiy-王者之师军团关于OPN  DB1L    #AI(这个是变量,就是你读取的模拟量的换算成温度的变量,你自己改)L  20- I L 2*ISLW 3AR1L  DBW【AR1,P#0.0】T  MW10飘过。。。内容的回复:大侠我把你的程序拷贝过去,在AR1这一步就报错,提示不是有效的指令,这是为什么 内容的回复:SORRY,应该是LAR1,这步是把累加器的值加载到地址寄存器中,也就是上面的换算结果存到AR1中 内容的回复: 大侠,我仿真了你的程序,仿真器一运行就马上就死掉了。  求解释 ,难道是我的仿真器出问题了,你是怎么仿真的。能否发一份haijiangvip@163.com OPN   DB     1      L     MW     6      L     20      -I          L     2      *I          SLW   3      LAR1        L     DBW 【AR1,P#0.0】      T     MW    10你的MW6要大于=20才可以,因为我是按照你的20做起点的仿真器死机,你的DB块有没有定义好?我没仿真,这些东西经常写的,所以不会出错的内容的回复:

好的,我再试试看

热门招聘
相关主题

官方公众号

智造工程师