您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC的自由口通信的编程步骤

来源:艾特贸易2017-06-04

简介S7-200 自由口通信是基于 RS485 通信基础的半双工通信的,因此发送和接收指令不能同时执行。 (1) 利用 SM0.1 初始化通信参数。 1) 使用 SMB30 (端口 0 )或 SMB130 (端口 1 )选择自由口通信

    S7-200自由口通信是基于RS485通信基础的半双工通信的,因此发送和接收指令不能同时执行。    (1)利用SM0.1初始化通信参数。   1)使用SMB30(端口0)或SMB130(端口1)选择自由口通信模式,并选定自由口通信的波特率、数据位数和校验方式。    2)定义通信口接收格式SMB87(端口0)或SMB187(端口1),包括启动信息接收(第7=1)、是否有起始位(第6位)、是否有结束位(第5位)以及是否检测空闲状态(第4位)等。    3)设定起始位(SMB88SMB188)或结束位(SMB89SMB189)、空闲时间信息(SMB90SMB190)及接收的最大字符数(SMB94SMB194)。    4)如利用中断,则需连接接收完(事件23)和发送完(事件9)中断到中断程序,并且开中断( ENI)    5)一般还要利用SMB34定义一个定时中断,来定时发送数据(一般为50ms,即间隔发送数据的时间)。    (2)编写主程序。自由口通信主程序的任务是把要发送的数据放到发送区,并接收数据到接收区,当然此部分也可以用一个子程序来完成。    (3)编写SMB34的定时中断程序。把要发送的数据传送到发送区,一般包括发送的字节数、发送的数据及结束字符,最后再利用XMT指令启动发送。    (4)编写发送完中断和接收完中断子程序。    1)发送完中断子程序的主要任务是发送完后断开SMB34定时中断,并利用RCV指令准备接收数据。    2)接收完中断子程序的任务是接收数据完成后重新连接SMB34的定时中断,准备发送数据。    【例3-44】本例要求利用甲机控制乙机的电动机星形一三角形启动,乙机控制甲机的电动机星形一三角形启动。星形一三角形启动甲乙互动I/O分配见表3-25    3-25    星形一三角形启动甲乙互动I/O分配
星形一三角形启动甲乙互动I/O分配
    发送和接收数据缓冲区的分配见表3-26    3-26    发送和接收数据缓冲区的分配
发送和接收数据缓冲区的分配
    (1)星形一三角形启动甲乙互动2号主程序如图3-118所示。
星形一三角形启动甲乙互动2号站主程序
    3-118    星形一三角形启动甲乙互动2号站主程序    (2)星形一三角形启动初始化子程序如图3-119所示。
星形一三角形启动初始化子程序
星形一三角形启动初始化子程序
    3-119    星形一三角形启动初始化子程序    (3)甲机星角运行子程序如图3-120所示。
甲机星角运行子程序
    3-120    甲机星角运行子程序    (4)中断程序0。甲机星角运行(50ms间隔发送程序)如图3-121所示。
甲机星角运行50ms间隔发送程序
    3-121    甲机星角运行50ms间隔发送程序    (5)中断程序1。甲机星角运行数据发送完后执行的中断程序如图3-122所示。
甲机星角运行数据发送完后执行的中断程序
    3-122    甲机星角运行数据发送完后执行的中断程序    (6)中断程序2。甲机星角运行数据接收完成后重新准备发送的中断程序如图3-123所示。
甲机星角运行数据接收完成后重新准备发送的中断程序
    3-123    甲机星角运行数据接收完成后重新准备发送的中断程序    乙机(3号站)的程序和甲机类似,只要在编程过程中注意发送和接收区和甲机的对应就可以了,不再赘述。