西门子唐山变频器一级代理商
- 供应商
- 浔之漫智控技术(上海)有限公司西门子一级代理商
- 认证
- 报价
- ¥99.00元每件
- 西门子PLC代理商
- 西门子触摸屏代理商
- 西门子授权一级代理商
- 西门子CPU代理商
- 西门子模块
- 西门子PLC模块代理
- 联系电话
- 15618722057
- 手机号
- 15618722057
- 联系人
- 占亦
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-15 07:00
西门子唐山变频器一级代理商
s7-200plc程序分为主程序、子程序和中断程序,主程序完成控制和子程序调用功能,子程序完成通信口初始化功能,中断程序完成数据的接收和发送功能。发送数据采用发送指令xmt,接收数据采用逐字节接收方法,通信口接收每个字节都会暂存到特殊存储器smb2中,并且产生中断,利用中断程序控制数据的接收。由于s7-200cpu的通信是建立在rs-485半双工通信硬件的基础上,接收和发送不能同时进行。通信中断程序要做到:接收指令不结束,就不能执行发送指令。
反映s7-200cpu工作方式的模式开关当前位置的特殊存储器位为sm0.7,它控制自由端口模式的进入。当模式开关处于term位置时,sm0.7为0;当模式开关处于run位置时,sm0.7为1。smb30是自由口模式控制字节,用来设定校验方式、通信协议、波特率等通信参数(其各个位含义参阅相关手册),中断事件号8为端口0接收字符中断,中断事件号9为端口0发送完成中断。
当sm0.7为1时,调用子程序sbr_0设置smb30,允许进行自由口通信;sm0.7为0时,调用子程序sbr_1重新设置smb30,停止自由口通信,恢复ppi通信,便于用micro/win软件对cpu运行状态进行监视。
s7-200通信程序详细介绍(1号站)
主程序main(只给出与通信有关程序)
ld sm0.1
movb 1, vb1
//设置站地址
ld sm0.7
eu
o sm0.1
call sbr_0
//运行或模式开关从term打到on时定义通信口为自由口
ed
call sbr_1
//模式开关从on拨到term时定义通信口为ppi从站
子程序sbr_0
ld sm0.0
movb 16#09, smb30
eni
atch int_11, 8
//定义通信口0为自由口模式,9.6k波特率,无校验,8位数据位,连接接收字符中断为中断程序int_11
子程序sbr_1
movb 16#c0, smb30
dtch 8
dtch 9
//恢复普通ppi通信设置
中断程序int_11
ab= smb2, vb1
movw +5, vw200
movd &vb640, vd688
atch int_12, 8
//若站地址正确,连接接收字符中断到中断程序int_12,并使vw200=5来计数,在int_12中连续接收五个字节;若站地址错误,则继续由int_11接收字节数据,要在s7-300中程序中将其余六个字节的高位进行设计,避免出现为内容1或2地址信息的字节,即使传输过程中因外界干扰,其余六个字节出现为1或2的假地址情况,程序也会在接下来1~2个接收过程中,因int_13中断程序中的校验指令作用,得到错误校验值,而恢复到正常接收状态。
中断程序int_12
movb smb2, *vd688
incd vd688
decw vw200
//接收5个字节
ld sm1.0
movb 1, vb639
movw vw639, vw700
xorw vw641, vw700
atch int_13, 8
//通过异或指令进行数据校验,连接接收字符中断到中断程序int_13,即由第七个字节触发中断程序int_13
中断程序int_13
//中断分离
ldw= vw700, vw643
movd vd640, vd400 //校验正确,将控制信息数据存到vb400~vb402
movb 6, vb600
movb vb1, vb601
bmb vb100, vb602, 5
atch int_14, 9
xmt vb600, 0
//校验正确,使能发送,发送6字节数据vb601~vb606,连接发送指令结束到中断程序int_14
ldw<> vw700, vw643
//校验不正确,连接接收字符中断到中断程序int_11,进行新一次接收
中断程序int_14
//发送结束则连接接收字符中断到中断程序int_11,进行新一次接收
4 电台选型和故障判断
数传电台选择了深圳友讯达科技发展公司的fc-201/b,该数传电台以其价格合理、运行稳定在国内得到广泛应用。通过友讯达提供的电台软件pfc5对电台进行参数设置,在s7-200两个站处将电台参数设置为:发射频率453.00,接收频率465.00,空中速率1200bps,工作模式为透明模式,串口波特率9600bps,串口校验和设为无;在s7-300站处将电台的参数中发射频率设为465.00,接收频率设为453.00,与s7-200站处电台收发频率对应,其余参数一致。
fc-201/b数传电台有一个发送和接收指示灯,当发送数据时为红灯,接收数据时为绿灯。根据此灯可以方便的判断通讯是否正常,正常情况下,s7-300轮循方式与两s7-200通信,即第一秒内向1号站发送数据,然后接收1号站返回的数据(s7-200在接收到s7-300发送的数据后会立刻向s7-300发送数据);第二秒内向2号站发送数据,然后接收2号站返回的数据,不停地循环通信。s7-300站处电台通讯指示灯红闪一下,接着绿闪一下,处在不停的红-绿-红-绿循环状态。而s7-200站在接收s7-300发送的数据时,要经过地址数据字节判断,确认地址为本站,并且对接收数据进行校验,确定接收数据无误才回传s7-300数据,但是只要s7-300发送数据,s7-200就接收数据,即使是发送给另一个s7-200站的数据。所以在无外界干扰,数据发送没有校验错误的情况下,s7-200站处的电台通讯灯是绿闪两下,红闪一下,处在不停的绿-绿-红循环状态,即接收两次数据,发送一次数据。如果通讯出现故障,根据通讯灯的闪烁状态,便可很容易查出通讯故障所在。
5 结束语
上位机wincc通过访问s7-300的数据块db2和db22,就可以实现对两个s7-200plc站的监控。自本系统投入运行以来,运行稳定可靠,收到用户好评。本通信方案经济、灵活,程序可移植性强,对于类似项目具有很高的借鉴意义。
展开全文