关于西门子300PLC模拟量输入问题 点击:2181 | 回复:5



jitalangzi

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 18回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2014年3月12日
发表于:2014-03-12 08:43:50
楼主

大家好!我刚PLC,现在遇到一个问题请大家帮忙看一下,当PLC模拟量通道PIW100输入数据类型是什么,当执行下面程序时为何会出现停机

 L PIW 100

 BTI

使用模拟器给PIW100赋值1-9时显示1-9,而赋值10-15时,却执行错误,

而赋值16-25时也正常,赋值26-31时又执行错误。

大家伙帮忙给我解释一下好吗,





银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2014-03-12 08:49:46
1楼

仿真有时候不一定正确的。


yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2014-03-12 10:01:35
2楼

数据类型为INT类型


之所以出现您说的这种错误原因是:


   您使用了BTI指令,即将BCD码转换为INT类型。


需要首先说明的是:BCD码实质就是只有0~9的16进制数,因此,在BCD码中,A~F是非法的。


而您输入PIW中的为10进制数,因此0~9不会有问题,而输入10,转换为16进制数为A,而BCD码是不会出现A的,因此非法造成了系统的错误。

而16~25,转换为16进制分别为10,11,12~19,因此不会出现错误。

同样,26~31转换为16进制分别为1A,1B……1F,因此又出现了非法字符而导致错误。


阿水--王者之师

  • 精华:25帖
  • 求助:348帖
  • 帖子:1617帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2014-03-12 10:07:18
3楼

1,你的模拟量程序读取是 标准块还是自己写的块?图片不全,不知可对?如使用的是 标准块,当你调用 时 按下 F1 会有讲解使用。


2,你的程序读取的模拟量地址是否正确? 为什么用 PIW?


3,给你个 精典 的德国工程师的 模拟量读取并做修正变量的程序图片参考:


jitalangzi

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 18回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2014年3月12日
发表于:2014-03-12 10:35:26
4楼

回复内容:

对: yuanle 数据类型为INT类型之所以出现您说的这种错误原因是: ... 内容的回复!


多谢您的解释!!!

王者-曹建军

  • 精华:2帖
  • 求助:0帖
  • 帖子:818帖 | 2407回
  • 年度积分:0
  • 历史总积分:16025
  • 注册:2011年12月25日
发表于:2014-03-12 14:55:35
5楼
过来顶起

热门招聘
相关主题

官方公众号

智造工程师