gongyekongzh
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看gongyekongzh的 主题 / 回贴
楼主  发表于: 2012-03-04 09:58
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 是什么意思啊? 怎么转换不了梯形图?这句总是报错,求指教,谢谢!
gongyekongzh
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看gongyekongzh的 主题 / 回贴
1楼  发表于: 2012-03-04 09:58
发送信息程序其中
LDN     VD3501.1 是什么意思啊? 怎么转换不了梯形图?这句总是报错,求指教,谢谢!
gongyekongzh
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看gongyekongzh的 主题 / 回贴
2楼  发表于: 2012-03-04 11:36
附上程序
附件: S7-200与伺服系统通信.rar (14 K) 下载次数:202
网站提示: 请不要用迅雷下载附件,容易出错
mkmk30
级别: 略有小成
精华主题: 0
发帖数量: 296 个
工控威望: 411 点
下载积分: 35963 分
在线时间: 165(小时)
注册时间: 2010-08-04
最后登录: 2024-11-22
查看mkmk30的 主题 / 回贴
3楼  发表于: 2012-03-05 11:54
我顶!谢谢
qn8012
级别: 探索解密
精华主题: 0
发帖数量: 6 个
工控威望: 124 点
下载积分: 470 分
在线时间: 2(小时)
注册时间: 2011-08-24
最后登录: 2019-09-25
查看qn8012的 主题 / 回贴
4楼  发表于: 2012-03-06 12:16
谢谢分享。。
ldz1011
路漫漫其修远兮 吾将上下而求索
级别: 略有小成
精华主题: 0
发帖数量: 76 个
工控威望: 209 点
下载积分: 735 分
在线时间: 40(小时)
注册时间: 2008-12-01
最后登录: 2017-05-17
查看ldz1011的 主题 / 回贴
5楼  发表于: 2012-03-09 10:04
和一楼同感,LDN     VD3501.1 是什么意思?
wgqcom
级别: 探索解密
精华主题: 0
发帖数量: 81 个
工控威望: 185 点
下载积分: 629 分
在线时间: 70(小时)
注册时间: 2010-11-19
最后登录: 2024-11-28
查看wgqcom的 主题 / 回贴
6楼  发表于: 2012-05-20 01:14
太感谢了。