反应堆请查收 点击:605 | 回复:4



shixi

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 21回
  • 年度积分:0
  • 历史总积分:123
  • 注册:2006年9月21日
发表于:2006-10-14 01:35:00
楼主
能不能给我一份loader协议的资料啊,谢谢啊.shixi1021@tom.com



QQ流浪汉

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 265回
  • 年度积分:0
  • 历史总积分:813
  • 注册:2004年1月30日
发表于:2006-10-14 23:05:00
1楼



1. 通讯样述.
    1 控制顺序   :  半双工系统
    2 通讯方式  :  RS-232C
    3 通速度  :  38400 BPS
    4 检測错误方式 :  BCC
    5 帧长度 :  最大 128 字节


2. 特殊通讯控制代码
      - STX : START OF T例T (02)
      - ETX : END OF T例T (03)
      - ACK : ACKNOWLEDGE (06)
      - NAK : NEGATIVE ACKNOWLEDGE (15)
      - EOT : END OF TRANSMISSION (04)







 

3. PLC内存地址
    请勿在禁止写入区写入地址.

K7P-30AS(K1000S)

0C0000h D 区域(10K 字)


0C5000h T 区域(当前值,256 字)

0C5200h C 区域(当前值,256 字)

0C5400h
T 区域(设定值E,256 字)

0C5600h C 区域(设定值E,256 字)


0C5800h 定时器 IN格式ION

0C5A00h 计数器 IN格式ION

0C5C00h P 区域(1024点)

0C5D00h M 区域(3072点)

0C5F00h L 区域(1024点)

0C6000h K 区域(512点)

0C6100h T 区域(256点)

0C6200h C 区域(256点)

0C6300h
F 区域(1024点)

0C6400h S 区域(100字)



K4P-15AS(K300S)

0A0000h D 区域 (5K 字)


0A5000h T 区域(当前值,256 字)

0A5200h C 区域(当前值,256 字)

0A5400h
T 区域(设定值E,256 字)

0A5600h C 区域(设定值E,256 字)


0A5800h 定时器 IN格式ION

0A5A00h 计数器 IN格式ION

0A5C00h P 区域(1024PT)

0A5D00h M 区域(3072PT)

0A5F00h L 区域(1024PT)

0A6000h K 区域(512PT)

0A6100h T 区域(256PT)

0A6200h C 区域(256PT)

0A6300h
F 区域(1024PT)

0A6400h S 区域(100字)


           在使用通讯模块时,不要在特殊数据区域写数据,比如:D,M,L

K7M-DRXXS(K80S)

000000h D 区域(5K 字)


005000h T 区域(当前值,256 字)

005200h C 区域(当前值,256 字)

005400h
T 区域(设定值E,256 字)

005600h C 区域(设定值E,256 字)


005800h 定时器 IN格式ION

005A00h 计数器 IN格式ION

005C00h P 区域(1024PT)

005D00h M 区域(3072 PT)

005F00h L 区域(1024 PT)

006000h K 区域(512 PT)

006100h T 区域(256PT)

006200h C 区域(256PT)

006300h
F 区域(1024PT)

006400h S 区域(100字)

*上述的十六进制地址对应PLC的时,字节单元来对应。
例)K80s P004(字) : P0040~P0047是对应 085C00, P0048~P004F是对应 085C01




4. 读出数据 :
   1) 要求 
      * STX – “r” – 区域 – 起始地址 – 数据长度 - BCC - ETX 
   2) 回答 
      * ACK 回答 :  ACK – “r” – 读出的数据 - BCC - EOT
      * NACK 回答 :  NAK – 信息(1字节) - BCC - EOT
   3) 帧 数据
      * 区域(1字节 ASCII)
- “M” : 数据 区域
      * 起始地址(6字节ASCII) : 读起始地址 
         -   3字节16进制.
      *数据长度(2字节 ASCII) : 读计数器数据 

      * BCC (2字节 ASCII) : 读 帧-Sum
不含 STX 和 ETX.
      * 读数据 (数据长度 * 2字节 ASCII) : 读 数据
   

예例)  读 10 字 数据 From P001 to P010
P001 地址 0x5C02(x=C(1000S),A(300S),8(200S))

1) 要求 帧 
     格式        :  - STX - “r”–“M”– 02 5C 00 - 14  – BCC - ETX
                                        
     ASCII   :  - 02  –  72  –  4D – 3032 3543 3030  - 3041 – BCC – 03
                                          
      BCC  = 72 + 4D + 30 + 32 + 35 + 43 + 30 + 30 + 30 + 41 = 026A => 6A => 3641
      帧  :  &#61663; 02 <- 72  <- 5A <- 36 34 30 30 30 30  <- 3041  <- 3641 <- 03


 

2) 回答 帧(假如 P001~P010 数据 是 0~9 )
     格式       :  - ACK – “r”  - 0000-0100-0200….-0800-0900 - BCC - EOT
     ASCII  :  - 06  –  72  – 3030 3030 3031 3030 3032…. 3039 3030 - BCC – 04
            BCC = 72 + 30+30+30+30+30+31+…. +30+39+30+30 = 0787 => 87 => 3837
     帧 : &#61663; 06 <- 72 <- 3030 3030 3130 … 3039 3030 <- 3847 <- 04

 

5. 写入数据 
   1) 要求 帧 
     * STX – “w” - 区域 – 起始地址 - 数据长度 – 写入数据 - BCC - ETX 
   2) 回答 帧 
     * ACK 回答 帧 :  ACK – “w” - BCC - EOT
     * NACK 回答 帧 :  NAK – 信息 - BCC - EOT

例)  写数据 (D0001~ D0010) 
– 假如写数据如此 D0001:0000, D0002:0001, D0002:0002, …    ….. D0008:0007, 
   D0009:0008
1) 要求 帧 
    格式 :  - STX - “w”–“M”– 020000 – 14 – 0000-0100-0200….-0800-0900 - BCC - ETX
    ASCII   :  - 02 – 77 – 4D – 3032 3030 3030 - 3134 – 3030 3030 3031…. 3039 3030
                   - BCC – 03
           BCC = 77 + 4D + 30+32+30+30+30+30+31+34+30+30+30+30+30+31+…. +30+39+30+30
                       = 09F8 => F8 => 4638
    帧  :  &#61663; 02 <- 77  <- 4D <- 3032 3030 3030  <- 3134  <- 3031 3030 3032
                       ….3039 3030 <- 4638 <- 03

2) 回答 帧 
    格式       :  - ACK – “w” - BCC - EOT
    ASCII  :  - 06  –  77  – BCC – 04
              BCC =  77 => 3737
    帧 : &#61663; 06 <- 77 <- 3737  <- 04


 

6. 数据 AND : 
   1) 要求 帧 
      * STX – “n” – 区域 - Var_Addr - AND_数据 - BCC - ETX 
   2) 回答 帧 
      * ACK 回答 帧 :  ACK – “n” - BCC - EOT
      * NACK 回答 帧 :  NAK - Message - BCC - EOT
   3) 帧 数据
      * Start_Addr (6字节 ASCII) : 读 Start Address 
         

例) M010字的 M0105位 Off 
1) 要求 帧 
    格式 :  - STX - “n”–“M”– 145D00 – DFFF - BCC - ETX
    ASCII  :  - 02 – 6E – 4D – 3134 3544 3030 – 4446 4646 – BCC – 03
           BCC = 6E + 4D + 31+34+35+44+30+30 +44+46+46+46 = 30F => 0F => 3046
    帧  :  &#61663; 02 <- 6E  <- 4D <- 3134 3544 3030  <- 4446 <- 4646 <- 3046 <- 03

2) 回答 帧 
    格式       :  - ACK – “n” - BCC - EOT
    ASCII        :  - 06  – 6E  – BCC – 04
              BCC =  6E => 3645
    帧 : &#61663; 06 <- 6E <- 3645  <- 04

 例) P0207 Off 
1) 要求 帧 
    格式 :  - STX - “n”–“M”– 285C00 –7FFF - BCC - ETX
    ASCII  :  - 02 – 6E – 4D – 3238 3543 3030 - 3746 – 4646 – BCC – 03
           BCC = 6E + 4D + 32+38+35+43+30+30+37+46+46+46 = 20C => 0C => 3043
    帧  :  &#61663; 02 <- 6E  <- 4D <- 3238 3543 3030  <- 3746 <- 4646<- 3043 <- 03

2) 回答 帧 
    格式     :  - ACK – “n” - BCC - EOT
    ASCII      :  - 06  – 6E  – BCC – 04
              BCC =  6E => 3645
    帧 : &#61663; 06 <- 6E <- 3645  <- 04




7. 数据 OR  :
   1) 要求 帧 
      * STX – “o” - 区域 - Var_Addr - OR_数据 - BCC - ETX 
   2) Local PLC 回答 帧 
      * ACK 回答 帧 :  ACK – “o” - BCC - EOT
      * NACK 回答 帧 :  NAK - Message - BCC - EOT

例)  L0309 On  
1) 要求 帧 
    格式 :  - STX - “o”–“M”– 3C5F00 – 0002 - BCC - ETX
    ASCII  :  - 02 – 6F – 4D – 3343 3546 3030 – 3030 3032 – BCC – 03
           BCC <= 6F + 4D + 33+43+35+46+30+30+30+30+30+32 = 02A2 => A2 => 4132
    帧  :  &#61663; 02 <- 6F  <- 4D <- 3343 3546 3030 <- 3030 3032 <- 4132 <- 03

2) 回答 帧 
    格式       :  - ACK – “o” - BCC - EOT
    ASCII        :  - 06  – 6F  – BCC – 04
              BCC =  6F => 3646
    帧 : &#61663; 06 <- 6F <- 3646  <- 04


例)  K010F  On 
1) 要求 帧 
    格式 :  - STX - “o”–“M”– 146000 – 0080 - BCC - ETX
    ASCII  :  - 02 – 6F – 4D – 3134 3630 3030 - 3030 3830 - BCC – 03
           BCC <= 6F + 4D + 31+34+36+30+30+30 +30+30+38+30  = 02AF  => AF => 4146
    帧  :  &#61663; 02 <- 6F  <- 4D <- 3134 3630 3030  <- 3030 3830 <- 4146 <- 03

2) 回答 帧 
    格式       :  - ACK – “o” - BCC - EOT
    ASCII        :  - 06  – 6F  – BCC – 04
              BCC =  6F => 3646
    帧 : &#61663; 06 <- 6F <- 3646  <- 04



QQ流浪汉

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 265回
  • 年度积分:0
  • 历史总积分:813
  • 注册:2004年1月30日
发表于:2006-10-14 23:06:00
2楼
我以前索取到的LOAD协议,WORD文件.LINK协议为PDF文件,这里发不了,你可上网上找

shixi

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 21回
  • 年度积分:0
  • 历史总积分:123
  • 注册:2006年9月21日
发表于:2006-10-15 00:23:00
3楼
呵呵,谢谢了,QQ兄

shixi

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 21回
  • 年度积分:0
  • 历史总积分:123
  • 注册:2006年9月21日
发表于:2006-10-15 12:08:00
4楼
我现在想用LOADER协议写上位机的程序,只是不知道怎么实现BCC,有这方面经验的高手或有源码的朋友们能否指教一下,用C语言写的,小弟在此谢过了!

热门招聘
相关主题

官方公众号

智造工程师