RS-232串口通信方式
硬件构成
西门子CPU224XP支持无协议通信,即用户仅需要对数据格式、传输速率、起始/停止码等进行简单设定,PLC与外部设备间就可进行直接数据发送与接收的一种通信方式。伺服系统和PLC分别作为系统的主从站。PLC控制器通过该通信功能可实现对伺服驱动器进行运行控制、参数读取、伺服驱动器当前运动状态的读取等操作。
当S7-200系列PLC工作在自由口通信模式下时,一般通过CPU模块的集成接口进行通信。CPU集成接口采用了PPI硬件规范,其接口为RS-485串口,因此,当S7-200系列PLC的CPU与带有RS-232标准接口的计算机或伺服驱动器连接时,需要配套选用S7-200 PLC的PC/PPI转换电缆或一个RS-232/RS-485转换器。
4.2 PLC与伺服系统通信
4.2.1 报文构成
S-200 PLC在无协议通信方式工作时,不需要任何通信协议,通信参数需要根据与其进行通信的伺服驱动器的通信格式进行设定。本伺服系统选用的Xe-nus伺服驱动器可通过RS-232与PLC利用ASCII码进行通信,其ASCII码消息命令格式如下:
<命令代码><命令具体参数><CR>
其中:<命令代码>为一个单字母代码;<命令具体参数>表示电机所要执行的任务;<CR>为一个回车返回字符,表示命令结束。如:s r0x2A 21<CR>表示设置伺服控制器工作在可编程控制模式。
4.2.2 程序设计
程序设计时,将伺服驱动器工作定义在可编程位置模式。该模式支持实时更改伺服电机的运动速度、位置,通过RS-232接收来自PLC的ASCII码命令,执行运动。部分程序如下:
①初始化程序
LD SMO. 1 //首次扫描
MOVB 9, SMB30
//设置自由端口0
通信方式SMB30=9、8位数据位、9600、PPI
MOVB 188, SMB87
//设置自由端口。接收信息控制5MB87 =188
MOVB 13,SMB89 //设置自由端口0
结束字符SMB89=13,即结束字符=<CR>
MOVW 0, SMW90 //设置自由端口0
空闲超时SMB90=0,信息接收始终处于有效
MOVW200, SMW92
//设置自由端口0信息超时SMB92 =200 ms
MOVB 255, SMB94
//设置自由端口0接收字符最大数SMB94=255
ATCH INT_0,9 //发送完成触发中断事件0
ENI //允许中断
②发送信息程序
LDN VD3501.1
// V D3501.1为接收延迟,
自由端口0没有处于接收延迟时
A SM4. 5
//自由端口0处于空闲状态,SM4.5 =1
AB= VB18, 7
//命令字节VB18 =7,即要求设置运动目标位置
SCPY "s r0xca',VB3100
//"s r0xca',复制到VB3100,
"s r0xca'为设置运动目标位置命令
SCAT VB3600, VB3100
// VB360()内的目标位置值连接到设置目标位置命令后
SCAT VB3190, VB3100
//VB3190内的结束字节连接到VB3100后;
XMT VB3100, 0
//通过自由端口0发送命令至伺服驱动器
③发送完成中断程序(接收信息)
LD SM0.0 //SM0.0总是为1
S SM87.7, 1
//置SM87. 7=1,SM87.7为允许接收信息位
RCV VB3200, 0
//通过自由端口0接收信息至VB3200
发送信息程序其中
LDN VD3501.1 是什么意思啊? 怎么转换不了梯形图?这句总是报错,求指教,谢谢!