s7-200PLC通过自由口通讯接收扫码枪数值
1、初始化自由口通讯,本例选用端口1,通讯初始程序如下;关于自由口通讯初始请参考经验引用


2、通过中断int_0存储扫码枪读取的数值,存储区起始地址为VB8000

3、将读取的ASCII码转换为数值,首先将vb类型转换为vw类型

4、转换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
5、将各个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