西门子标准信号转换后都是6400-32000?A/D?D/A?模拟量输入输出是怎么实现的?

新手!请问,标准信号转换后是6400-32000,这里面的6400是十进制的吧?也就是说A/D转换后的,二进制D转换为十进制的值?可以这样理解么??然后,为什么西门子PLC编程时要用到十进制呢??他不能用二进制 ,直接进行计算么??那他的模拟量输入输出是不是可以理解为:A/D转换成D,然后D转换为十进制进行计算,然后通过D/A转换为A输出??望高手指点!!!!

标准信号转换后是6400-32000,这里面的6400是十进制的吧?
答,西门子的输入是0-20MA,转换为0-32000,标准的电流信号是4-20MA,所以你的计算是对的
A/D转换后的,二进制D转换为十进制的值?
答:可以这么理解
为什么西门子PLC编程时要用到十进制呢?
答:十进制是便于人们的理解,一般还要进行工程量的变化
譬如:温度为0-100°,变送器的的输出电流为4-20MA的标准信号
那么我们在PLC的模拟量输入通道,AIWO能得到的是6400-32000的数值量
假设我们现在AIWO里面有得到的数值是19200,那么这个数值并不能直接反应外部的温度
很不直观,我们需要把这个数值转换为温度值,这样就很直观了
外部温度=(AIW0-6400) / [ ( 32000 - 6400) / (100 - 0)],经过这样的公式变换后就可以得到实际温度了
那他的模拟量输入输出是不是可以理解为:A/D转换成D,然后D转换为十进制进行计算,然后通过D/A转换为A输出??
可以这么理解追问

这里面您所说的6400-32000的数值量,只是西门子PLC硬件设计之后给的硬数吧,我们不能更改,然后我有个问题,就是为什么他要进行这个数值量的转化,然后我们再进行工程量转化呢?不是可以直接他将我们读入的数值直接进行转换 ,我们可以直接看到输入是多少,然后我们直接对这个输入进行工程量转换,不是更直观么?比如他直接显示我们输入的是15MA,然后我们用15MA求出温度是多少不就行了?还是说他做不到将输入显示出来?

追答

不是他一个公司这么做,是所有的都是这么做的,因为PLC,计算机只能对数字量进行运算
模拟量输入有标准的电流信号,也有的用电压信号,测温度时候用特殊的温度扩展模块可以直接连接热电阻或者热电偶,
也就是说PLC能得到的只能是数值,而把外界的电压电流信号进行转换其实是又硬件电路完成的
其实你说的直接显示15是可以的,利用公式计算一下就出来了

追问

就是说不管是电压信号还是电流信号,他都通过硬件统一转换成二进制对应的十进制值了,是这样么?他的AIW0里面存储的是十进制值,只是为了让设计人员能很明了的去理解应用。其实如果可以的话,他是完全可以不进行转换,留给我们二进制,让我们自己去计算都是可能的吧,就像单片机那些一样,我们可以直接读I/O口的状态进行计算?

追答

是这样的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-24
不是这样的 模拟模块采集到的信号到plc后,经标准化后就变成数字量 例如:空调 1:3200的标准化比值 采集到的模拟量为16000 经plc处理后就是50度。就是这个意思。不要把它想复杂了 。其实plc挺有意思的 好好学 大有有前途
相似回答