s7-200PLC通过自由口通讯接收扫码枪数值
实际应用中扫码枪越来越多的应用到生产中,PLC需要读取各类条形码的数值来读取工单、物料等信息,本例通过西门子S7-200的自由口通讯实现扫码枪数据的读取,给广大工控人一个实例
操作方法
- 01
初始化自由口通讯,本例选用端口1,通讯初始程序如下;关于自由口通讯初始请参考经验引用
- 02
通过中断int_0存储扫码枪读取的数值,存储区起始地址为VB8000
- 03
将读取的ASCII码转换为数值,首先将vb类型转换为vw类型
- 04
转换ASCII码: LD SM0.0 LPS MOVW VW8100, VW8140 -I +48, VW8140 MOVW VW8102, VW8142 -I +48, VW8142 MOVW VW8104, VW8144 -I +48, VW8144 MOVW VW8106, VW8146 -I +48, VW8146 MOVW VW8108, VW8148 AENO -I +48, VW8148 AENO ITD VW8148, VD8160 AENO MOVD VD8160, VD8184 *D +100000, VD8184 LRD MOVW VW8110, VW8150 AENO -I +48, VW8150 AENO ITD VW8150, VD8164 AENO MOVD VD8164, VD8188 *D +10000, VD8188 LRD MOVW VW8112, VW8152 AENO -I +48, VW8152 AENO ITD VW8152, VD8168 AENO MOVD VD8168, VD8192 *D +1000, VD8192 LRD MOVW VW8114, VW8154 AENO -I +48, VW8154 AENO ITD VW8154, VD8172 AENO MOVD VD8172, VD8196 *D +100, VD8196 LRD MOVW VW8116, VW8156 AENO -I +48, VW8156 AENO ITD VW8156, VD8176 AENO MOVD VD8176, VD8200 *D +10, VD8200 LPP MOVW VW8118, VW8158 AENO -I +48, VW8158 AENO ITD VW8158, VD8180
- 05
将各个ASCII转换为一个整数: LD SM0.0 MOVD VD8180, VD8204 AENO +D VD8184, VD8204 AENO MOVD VD8204, VD8208 AENO +D VD8188, VD8208 AENO MOVD VD8208, VD8212 AENO +D VD8192, VD8212 AENO MOVD VD8212, VD8216 AENO +D VD8196, VD8216 AENO MOVD VD8216, VD8220 +D VD8200, VD8220