西门子S7300和丹拂斯RS485通信 点击:1536 | 回复:8



wulin810921

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 0回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-08-02 23:21:16
楼主
西门子和丹拂斯RS485通信
vfsfgsa

想向各位高手,大侠请教一个通信问题

本人现在有一个西门子S7-300和丹拂斯200系列变频器用RS485通信的空调节能控制项目。请问用什么指令控制变频器。通信格式用什么方式最好。应该怎么换算。不知那位有实例能否给我发一份

再次十分感谢谢。本人邮箱是337919825@qq.com.也可以QQ赐教。号码也是337919825





皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2008-08-03 00:33:53
1楼

可加cp340,根据报文格式自己组织通讯程序

17252054@qq.com

怒海孤鸿

  • 精华:1帖
  • 求助:0帖
  • 帖子:38帖 | 1013回
  • 年度积分:0
  • 历史总积分:2084
  • 注册:2004年1月30日
发表于:2008-08-03 12:39:19
2楼

RS485和PROFIBUS都可以的

 

怒海孤鸿

  • 精华:1帖
  • 求助:0帖
  • 帖子:38帖 | 1013回
  • 年度积分:0
  • 历史总积分:2084
  • 注册:2004年1月30日
发表于:2008-08-03 12:52:17
3楼

RS485用FB2(收)和FB3(发)实现,通信模块用CP340

DP用SFC14(读)和SFC15(写)

实现的难度和工作量差不多吧.如果要求不高,用CP340成本低些

二十四桥明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-08-24 16:17:32
4楼

首先要了解Danfoss变频器提供的485总线协议是什么?

是DP? MODBUS?USS?

二十四桥明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-08-24 16:29:06
5楼

扯蛋之前,先要了解它是什么蛋!

 

PLC通过自由通讯口方式与变频器通讯

1 引言
    在传统的PLC——变频控制集成系统中,变频器的启动/停止与故障监控由PLC通过开关量实现端对端控制。变频器频率是由PLC通过模拟量输出端口输出0~5(10)V或4~20mA信号控制,需要PLC配置昂贵的模拟量输出端口模块。变频器出现故障时由PLC读取变频器的故障报警触点,对具体故障原因并不清楚,需查询变频器报警信息后再阅读变频器说明书才知道。随着交流变频控制系统及通讯技术的发展,可以利用PLC及变频器的串行通讯的方式来实现PLC对变频器的控制。
    2 变频器的选型
    DANFOSS-VLT系列变频调速器提供串行通讯技术的支持。它所支持的串行通讯技术包括标准RS-485、PROFIDRIVE、LONWORKS在内的多种现场总线方式。其中,RS-485通讯方式为用户提供了无需附加任何费用的、最为廉价实用的串行通讯方式。只需按照DANFOSS
    VLT变频器规定的通讯数据结构、控制字和状态
    字格式发送数据即可实现与VLT变频的通讯。VLT为用户提供了两种控制字和状态字格式标准:即DANFOSS标准的DANFOSS-FC协议和PROFIBUS标准的PROFIDRIVE协议。其中FC协议为用户提供了更多的与VLT有关的控制信息和状态信息。本项目中选用DANFOSS-FC协议。
    3 PLC的选型
    西门子工控产品在工控领域应用市场中有较高的占有率。S7-200系列是西门子SIMATIC-PLC家族中的小规模PLC成员,自由通讯口方式是S7-200PLC的一个特色的功能,它使S7-200PLC可以由用户自己定义通讯协议。利于自由通讯口方式,在本系统中PLC可以与变频器和方便连接。PLC通过自由通讯口方式与变频器通讯,控制变频器的运行,读取变频器自身的电压、电流、功率、频率和过压、过流、过负荷等全部报警信息等参数,这比通过外部端口控制变频器的运行具有较高的可靠性,节省了PLC宝贵的I/O端口,又获的了大量变频器的信息。在本例中,作者将按照DANFOSS-FC协议来对S7-200的自由口进行编程。
    4 VLT串行通讯
    4.1VLT通讯原理
    VLT变频器的串行通讯为异步半双工的方式,使用字节奇偶校验和块传送异或校验方法。每个变频器都配备有一个标准的RS-485通讯端口,使协议可以通过RS-485电气接口来进行传输。PLC为主机,变频器为从机,系统电码的传输由主机控制,主机不断发出某个地址的电码给从机,等待从机的响应。主机最多能带31个从机,在有中继器的情况下,可以增加到126个从机,也就是从机的地址最多可以设定到126。通讯时,每一个字节从一个起始位开始实行传送,然后再传递8个数据位,相应地组成一个字节,每个字节由一个奇偶校验位来验证传送的正确性,然后由一个终止位结束。这样一个字节共由11个位组成。
    4.2VLT电码结构
    每个电码由一个起始字节(STX)开始,这个起始字节为STX=02H。随后紧跟一个表示电码长度(LGE)的字节和表示变频器地址的字节(ADR)。然后是一些数据字节(随电码类型而变)。整个电码由一个数据控制字节(BCC)来结束。结构如附表。
  
    在上述数据结构中:
    (1)PKE占用两个字节,包括参数命令类型和参数数目;
    (2)IND为索引,也占用两个字节,索引字节用于表明它是一个读命令还是写命令。在读命令中必须具有0400H的格式,在写命令中必须具有0500H的格式;
    (3)PWE为参数值块。占用四个字节,分为高字(PWEH)和低字(PWEL)。“比如主机要改变当前的变频器参数,新的参数就应写在参数PWE中发送给变频器;”
    (4)PCD为过程块,占用4个字节。它有两种状态,当主机发给从机时,PCD1为控制字,PCD2为参考值;当从机发给主机时,PCD1为状态字,PCD2为当前的输出频率;
    (5)BCC为数据控制字节。由它来对接收到的命令进行检验正确与否。它的初始值为0,然后对该字节以前的所有字节进行异或。
5 PLC编程示例
    5.1变频器初始化子程序
    ;PLC在第一次扫描时执行初始化子程序,对端口及RCV指令进行初始化。为了增加程序的可靠性,在初始化完成后,如果检测到端口空闲时则运行RCV指令使端口处于接受状态。初始化子程序如下:
    Network1//网络标题
    检测端口空闲可编在主程序中
    //设定端口属性
    LDSM0.0
    MOVB73,SMB30
    Network2
    //接收信息状态
    LDSM0.0
    MOVB102,SMB87
    Network3
    LDSM0.0
    MOVB16#02,SMB88
    MOVB50,SMB92
    MOVB50,SMB94
    RSM87.2,1
    Network4
    LDSM0.0
    ATCHINT1,23
    //连接口0接收完成的中断
    Network5
    LDSM0.0
    ATCHINT0,9
    //连接口0发送完成的中断
    Network6
    LDSM0.0
    ENI
    //中断允许
    Network7
    LDSM0.
    0
    MOVD&VB250,VD220
    //装入地址指针
    MOVB0,VB242
    //BCC码寄存器清零
    MOVD&VB300,VD224
    //装入地址指针
    MOVB0,VB246
    //BCC码寄存器清零
    5.2变频器参数修改子程序
    当要改变当前变频状态的信息需传送时,调用“控制子程序”。首先它要禁止端口的接收,然后对控制电码进行编辑和BCC检验码计算,并发送;当没有改变当前变频状态的信息需传送时,调用“空命令”子程序。因为PLC如果要读取变频器的当前工作状态,就要给变频器发送命令,而“控制子程序”代码繁琐,执行效率不高,我们可以将“空命令”程序需传送的电码预先编排好(可以用短电码),“控制子程序”程序代码如下:
    Network1
    LDSM0.0//停止端口0的接收
    RSM87.7,1
    RCVVB300,0
    Network2
    LDL0.0
    MOVW16#047C,VW211
    MOVWLW1,VW213
    Network3
    LDL0.1
    MOVW16#0434,VW211
    MOVW0,VW213
    Network4
    LDSM0.0
    MOVWLW1,VW213
    Network5//网络标题
    //网络注释
    LDSM0.0
    MOVB16#02,VB200
    MOVB16#0E,VB201
    MOVBLB3,VB202
    MOVD0,VD203
    MOVD0,VD207
    HTAVB200,VB250,15
    Network6
    LDSM0.0//计算BCC校验码
    FORVW240,+1,+15
    Network7
    LDSM0.0
    XORB*VD220,VB242
    Network8
    LDSM0.0
    INCDVD220
    Network9
    NEXT
    Network10
    LDSM0.0
    HTAVB242,VB265,1
    //BCC校验码写入发送缓冲区
    Network11
    LDB=VB251,16#0E
    //发送缓冲区准备好后进行发送
    SS0.1,1
    Network12
    LSCRS0.1
    Network13
    LDSM4.5
    XMTVB250,0
    Network14
    SCRE
    5.3变频器通讯完成处理
    发送完成后执行发送完成中断程序,它的操作包括:允许RCV;bcc码寄存器清零;重新装入用于计算BCC校验码的地址指针;接收缓冲区中存放指令结束字符的字节清零,用来判断下一条指令格式是否正确。
    接收完成后执行接收完成中断程序,它会将接收缓冲区中的十六进制ASCII码还原成数据并保存。然后调用“接收处理”子程序。它主要是求出接收缓冲区中指令的BCC校验码并与指令中的BCC校验码进行比对,并对电码中的数据进行处理。
    6 结束语
    使用此方法采用西门子PLC通过自由口使用DANFOSS-FC协议对DANFOSS变频器进行控制,极大地减少了线路连接的复杂性,避免了现场可能的各种电磁干扰对控制设备的影响。


 

 

二十四桥明月夜

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2008-08-24 16:32:41
6楼

S7-200的可以选自由口协议;

S7-300S可以选PROFIBUS标准的PROFIDRIVE

 

mtwj02

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 342回
  • 年度积分:0
  • 历史总积分:390
  • 注册:2008年7月15日
发表于:2008-08-24 22:58:37
7楼
学习中                        

不懂工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:32帖 | 647回
  • 年度积分:0
  • 历史总积分:583
  • 注册:2004年9月23日
发表于:2011-10-12 11:55:49
8楼
扯蛋之前,先要了解它是什么蛋!哈哈!

热门招聘
相关主题

官方公众号

智造工程师