S7-200与6RA70USS通讯问题

已锁定

xxhzhx

  • 帖子

    3
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2011-01-07

普通 普通 如何晋级?

S7-200与6RA70USS通讯问题

638

0

2012-02-07 11:45:02

用200的PORT0口与70 USS接口2(X172::58\59)通讯,程序如下:
MAIN
LD SM0.1
CALL SBR_0 //首次扫描时初始化自由通讯端口
LD SM0.7 //监测CPU工作方式开关的位置,如果位于RUN位置定义自由口通讯协议
= SM30.0
LD SM0.0
CALL SBR_1
END
SBR_0
MOVB 16#44 , SMB30 //初始化PORT0,19.2KB 每字符8位 偶校验
MOVB 16#0E , VB99 //数据总长度为 14,
STX+LGE+ADR+6PKW+4PZD+BCC=14
MOVB 16#02 , VB100 //写入STX
MOVB 16#0C, VB101 //写入LGE为12,不包括STX和LGE本身占用的2个字节。
MOVB 16#01 , VB102 //写入ADR,从站站址。也就是说,与装有此程序的PLC通讯
6RA70直流调速装置的USS地址应为1
FILL +0 , VW103 , 5 //将用于存放网络数据的区域清空。
CRET
SBR_1
MOVW 16#C12F , VW103 //写入PKE,更改P303的值
MOVW 16#0002 , VW105 //更改的值写入P303的变址2
MOVW 16#0400 , VW107 //将P303.002的值改为4.00
MOVW 16#1000 , VW109 //PZD1发送1000
MOVW 16#2000 , VW111 //PZD2发送2000
LD SM0.0
CALL SBR_2 //调用BCC计算程序
CALL SBR_3 //调用发送程序
CRET
SBR_2
MOVD &VB101 , AC1 //将VB101的地址写入累加器AC1
MOVD 16#0000000E , AC2 //将STX和LGE的异或结果写入累加器AC2
FOR AC3 , +1 , +11 //利用循环对整个报文中除BCC外的每一字节做异或,结果放入
AC2中
XORW *AC1 , AC2
INCD AC1
NEXT
INCD AC1 //将AC1中的地址再加1,指向BCC
MOVB AC2 , *AC1 //将异或结果写入BCC
CRET
SBR_3
XMT VB99 , 0 //发送报文
CRET
6RA70参数设置如下: P790=2 P791=2 P792=127 P793=7 P795.01=1 P795.02=0
P796=1 P797=0
程序执行后只在Word1 r812.01=47E Word2~Word5没有数据 P303.02=10 没有改为4
不知道是程序问题还是传动参数问题,请解决。谢谢!
S7-200与6RA70USS通讯问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33277条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。