西门子S7200与上位机通讯,读取温度值的程序范例!
PLC主程序网络1设置控制方式为自由口通信方式,启动接收字符中断PLC首次扫描自由口通信,波特率为9600,数据位8,停止位1,无校验初始化RCV,允许RCV,有结束符,检查空闲时间结束符为A空闲时间为5MS一次接收的最大字符为6个启动通信口,接收完成中断全局允许中断接收数据LDMOVBMOVBMOVBMOVBATCHENIRCV网络2检测温度送VW0转换成实际温度值从工作站编号送到输出缓冲区VB1990SM011609SMB3016B0SMB87160ASMB896SMB94INT_023
f检测温度送输出缓冲区LDMOVWIMOVWIMOVWMOVWMOVW网络3设置温度控制上限和下限LDMOVWMOVW网络4检测温度低于下限,则输出加温LDWAS网络5检测温度高于上限,则输出降温LDWAR网络6准备传送参数VW0VW6SM05Q001VW0VW4SM05Q001SM00350VW4450VW6SM00AIW0VW054VW0AIW2VW254VW21VW300VW0VW302VW2VW304
f发送字节数据,送VB99发送检测温度数据,送VW100发送工作站编号数据,送VW102LDMOVBMOVWMOVWMOVW网络7传送数据LDXMTSM05VB990SM006VB99VW300VW100VW302VW102VW304VW104
中断程序网络1通信口接收数据完成后的中断SMB86等于1620,表示PLC收到结速符收到结束符,把收到的数据传到VB400中断有条件返回否则继续接收LDBMOVBCRETINOTRCVVB1990SMB861620VB200VB400
VB源程序
fDimx1k1k2Dimp11p22DimaaAsBytePrivateSubComma
d1_ClickTimer1E
abledTrueE
dSubPrivateSubComma
d2_ClickTimer1E
abledFalseClsU
loadMeE
dSubPrivateSubForm_LoadTimer1E
abledFalseTimer1I
terval100Timer2E
abledTrueTimer2I
terval1000Picture1ScaleMode0MSComm1CommPort1MSComm1Setti
gs