VB与s7200通讯例子……读取温度值的程序范例-PLC技术网(www.plcjs.com)-可编程控制器技术门户


VB与s7200通讯例子……读取温度值的程序范例

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-9-5 23:45:43     来源:   作者: 点击:
点击【 大  中  小 】, 可 以 选 择 字 体的大小,以便 你 阅读.
PLC主程序
网络1
// 设置控制方式为自由口通信方式,启动接收字符中断 //
    PLC首次扫描
    自由口通信,波特率为9600,数据位8,停止位1,无校验
    初始化RCV,允许RCV,有结束符,检查空闲时间
    结束符为 A
    空闲时间为5MS
    一次接收的最大字符为6个
    启动通信口,接收完成中断
    全局允许中断
    接收数据
LD    SM0.1
MOVB  16#09, SMB30
MOVB  16#B0, SMB87
MOVB  16#0A, SMB89
MOVB  6, SMB94
ATCH  INT_0, 23
ENI
RCV    VB199, 0
网络2
// 检测温度送VW0 //
    转换成实际温度值
    从工作站编号送到输出缓冲区
    检测温度送输出缓冲区
LD    SM0.0
MOVW  AIW0, VW0
/I    +54, VW0
MOVW  AIW2, VW2
/I    +54, VW2
MOVW  1, VW300
MOVW  VW0, VW302
MOVW  VW2, VW304
网络3
// 设置温度控制上限和下限//
LD    SM0.0
MOVW  +350, VW4
MOVW  +450, VW6
网络4
// 检测温度低于下限,则输出加温 //
LDW<  VW0, VW4
A      SM0.5
S      Q0.0, 1
网络5
// 检测温度高于上限,则输出降温 //
LDW>  VW0, VW6
A      SM0.5
R      Q0.0, 1
网络6
//准备传送参数 //
  发送字节数据,送VB99
  发送检测温度数据,送VW100
  发送工作站编号数据,送VW102
LD    SM0.0
MOVB  6, VB99
MOVW  VW300, VW100
MOVW  VW302, VW102
MOVW  VW304, VW104
网络7
// 传送数据 //
LD    SM0.5
XMT    VB99, 0

中断程序


网络1
//通信口接收数据完成后的中断 //
// SMB86 等于16#20,表示PLC收到结速符 //
    收到结束符,把收到的数据传到VB400
    中断有条件返回 
    否则继续接收
LDB=  SMB86, 16#20
MOVB  VB200, VB400
CRETI
NOT
RCV    VB199, 0

\\*******************************\\

VB源程序

Dim x1, k1, k2
Dim p11, p22                            定义变量
Dim aa() As Byte                        定义数组
Private Sub Command1_Click()            开始监控,定时器1有效
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()            退事程序,定时器1无效
Timer1.Enabled = False
Cls                                      清屏
Unload Me
End Sub
Private Sub Form_Load()                  初始化
Timer1.Enabled = False                    定时器1无效
Timer1.Interval = 100                    定时器1时间为0.1S
Timer2.Enabled = True                    定时器2有效
Timer2.Interval = 1000                    定时器2时间为1S
Picture1.ScaleMode = 0                    定义纵横坐标

本新闻共2页,当前在第11 2  

上一篇: VB与西门子S7-300的通讯方式
下一: FX系列与三菱E,S系列变频器485程序