xa型cp1hplc内置模拟量输入0占用的CH编号是
最佳答案
回答者:网友
首先,你需要的PLC中去设定需要的量程,以及对应的分辨率:
1、如果你使用内建的AD输入,那么对应的模拟量输入地址就是:200CH~203CH例如如果使用AD0的话,对应的模拟量输入值就保存在200CH中。
2、如果你使用扩展的模拟量输入模块,例如CPM1A-AD041,那么需要首先将模块设定参数写入模块的输出地址中,然后从模块的输入地址读取测量值。
然后,可以通过CP1H带有的SCL指令进行输入线性化。需要将转换前后的值D100~D103分别代表:D100:转换后的A点值(BCD码),因为转换后对应0吨,所以这里设为0D101:转换前的A点值,一样设为0D102:转换后的B点值(BCD码),因为你要对应10吨,所以这里设为10D103:转换前的B点值,因为20mA对应于模拟量的输入值6000(如果前面设定的时候选择12000,请这里改为12000)
调用SCL指令,将通道200的模拟量采集值经过SCL指令转换为0~10吨的BCD码
如果你要提高精度,可以使用功能块来自定义一个SCL指令,这样你可以在功能块中使用ST语言方便的输入线性转换公式。
然后在主程序中调用:不过由于CP1H不支持直接输入浮点数常量,但是你可以直接在内存里对浮点数据进行输入或者编程调用FLT指令来进行转换。
最后,如果仅仅是为了显示给用户看工程量的话,那么许多上位机包括触摸屏都有线性转换的功能,你可以直接在上位机里做,从而省却了PLC中的编程。