全国服务热线 15221406036

金昌西门子S7-300代理商

发布:2024-03-08 16:14,更新:2024-05-08 07:10

金昌西门子S7-300代理商

〕自由协议发送函数 UART1_SEND

功能:将设置好的数据等信息进行发送。
函数号:D8200=29 函数调用:M8200



3〕自由协议接收函数UART1_REV
功能:将设置好的数据等信息接收。
函数号:D8200=30 函数调用:M8200




二、自由协议的通信格式
自由协议的通信格式由D8120控制,在运行过程中,根据通信对象的不同,可以改变控制字。但专用协议和自由协议,在运行时不允许相互切换。
嵌入式PLC串口1通信,一旦选择专有协议,其各项通信指标是固定的。只有选择自由协议,各项通信参数才根据D8120而变化。
专有协议有主从站设置和地址设置类信息,而自由协议的的主从信息、地址信息是隐含在编程中。如,主从信息表现在主动发信息还是被动发信息的编程上,地址信息包含在规划的报文格式中及解读报文的编程中。
D8120的协议选项(D8120_Bit14),决定是自由协议还是专有协议,其他选项都是针对自由协议的。当选择专有协议时,其他各项可以不选。
嵌入式PLC每次上电,D8120都有一个默认初值D8120=H6881,也就是默认选择为专
有协议。当选择为自由协议时,才需要对D8120进行重新赋值。



如D8120=H0431,表示自由协议,发送结束自动转接收,通信速率为9600bps,7位数据,无奇偶校验。
自由协议的通信格式总共是11位,其中起始位1位,数据位9位(B0----B7+TB8/RB8),1停止位,如图所示。




嵌入PLC与其它控制器通信,如与计算机通信,以自由协议方式,9600bps速率,发送自动转接收为例,可选设置项如下:
①、7位数据+无奇偶校验+1停止位: 请按第②种情况设置。
②、7位数据+无奇偶校验+2停止位 (Bit7=1) D8120=H0438
③、7位数据+奇校验+1停止位 (Bit7=奇校验) D8120=H0432
④、7位数据+偶校验+1停止位 (Bit7=偶校验) D8120=H0436
⑤、7位数据+奇校验+2停止位 (Bit7=奇校验,TB81/RB81=1) D8120=H043A
⑥、7位数据+偶校验+2停止位 (Bit7=偶校验,TB81/RB81=1) D8120=H043E
⑦、8位数据+无奇偶校验+1停止位 D8120=H0431
⑧、8位数据+无奇偶校验+2停止位 (TB81/RB81=1) D8120=H0439
⑨、8位数据+奇校验+1停止位 (TB81/RB81=奇校验) D8120=H0433
⑩、8位数据+偶校验+1停止位 (TB81/RB81=偶校验) D8120=H0437
⑾、8位数据+奇校验+2停止位: 请按第⑨种情况设置。
⑿、8位数据+偶校验+2停止位: 请按第⑩种情况设置。

三、自由协议通信中常用功能函数
1〕常用功能函数
函数号(25)+函数名(ASCII_HEX函数)+功能说明(将指定寄存器的ASCII码转换为十六进制数HEX);
函数号(26)+函数名(HEX_ASCII函数)+功能说明(将指定寄存器的十六进制数HEX转换为ASCII码) ;
函数号(27)+函数名(BYTE_ BYTE函数)+功能说明(将指定寄存器的字进行拆分和组合);
函数号(28)+函数名(CRC函数)+功能说明(将和校验区ASCII码的十六进制数相加后,取后两位字符);
函数号(29)+函数名(自由协议发送函数)+功能说明(将设置好的数据等信息进行发送);
函数号(30)+函数名(自由协议接收函数)+功能说明(将设置好的数据等信息接收);

2〕自由协议相关函数
在工控通信中,根据不同的情况,各工控厂家有不同的通信协议。有的以16进制的方
式传输,有的以ASCII码传输,有的以BCD码传输;校验方式有和校验,异或校验;传输顺序有的从高字节开始,有的从低字节开始;传输单位一般是以字节为单位,而PLC在梯形图中多以字为单位。而自由协议的发送区和接收区是以字节为单位的连续区。为适应各家协议,必须有相关的辅助函数,才能更好发挥自由协议的作用。
辅助函数只针对数据寄存器区。
1.ASCII码字符转HEX数值 (函数号:25)
将ASCII码表示的“0---9,A---F”字符转换成16进制的数值0---9,A---F。如ASCII值为31 32 33 42 (表示字符“123B”),经函数转换后成HEX值为 123B,四个字节变成二个字节。
2.HEX数值转换成ASCII码字符 (函数号:26)
将HEX表示的数值变换为ASCII码,与25号函数功能相对。如将HEX值AB23转换为ASCII码字符“AB23”,ASCII值为41 42 32 33。
3. 区域移动 (函数号:27)
将字节拼成字,或将字拆成字节,或字区的移动。如,填写发送字节时,将字节赋给字单元的低字节,我们会觉得方便;但对发送而言,发送的是连续字节区,因此发送前,又必须将不连续的低字节变成连续的字节,即连续的字区。
4.区域求和 (函数号:28)
在有和校验的协议中,以字节为单位进行求和运算。因此对接收字可能需拆成字节,而后进行求和运算。如11H 22H 33H 44H 55H 66H 77H 的7个字节,求和结果为01DCH。如果只传两个字的ASCII码值,则只传“DC”,ASCII码值为44H 43H。
以上提供的辅助函数在自由协议方式下,使用的频率较高,辅助函数的调用方式也大体相同。
入口参数:输入的元件号 (D8201):如D8201=K100,表示从D100开始。
输入的有效字节数 (D8202):如D8202=K10,表示10个字节。
起始字节高/低选择 (M8201):如SET M8201表示从低字节开始。
字/字节有效选择 (M8202):如SET M8202表示字节方式。
出口参数:输出元件号 (D8203):如D8203=K1000,表示结果存在D1000超始区。
起始字节高/低选择 (M8203):如SET M8203表示从低字节开始。
字/字节有效选择 (M8204):如SET M8204表示字节方式。
以上函数的具体示例参见科威PLC《编程手册》第八章<常用功能函数说明>

第3节 科威PLC通过自由协议与深圳传动之星变频器通信实现
一、程序流程图



二、资源分配
1)资源分配总体情况
字元件(D0〜D4)+位元件(M11〜M42)+标签P(P1,P10〜P19)+定时器(T0,T1,T3);
字元件(D10〜D49)+位元件(M100,M110,M120,M130,M140,M150,M160,M170,M180,M190);
字元件(D99〜D103)+位元件(M1000〜M1016(仅在子程序P1中);
2)主程序里包含的资源
字元件(D0〜D4,D99)+位元件(M100,M110,M120,M130,M140,M150,M160,M170,M180,M190)+标签P(P1,P10〜P19)+定时器(T0,T1,T3);
字元件(D10〜D49)+位元件(M0〜M4,);
3)子程序P1
字元件(D49,D23,D24)+位元件(M1000〜M1016(仅在子程序P1中)+标签P(P1,P10〜P19);
4)子程序P10〜P19
字元件
D28〜D31
D100〜D103

二、读写方法举例
1)读操作流程:



2)写操作流程:




3)假设要读取的1#变频器的“给定[频率”F0-002=50HZ=5000*0.01HZ(小单位)
解析:读1#变频器D99=01,读命令代码D100=“04H”,参数的序号D101=“002”(10进制)=数据地址=“02H”,读命令代码对应程序中定义的M140=ON,填写后D4=1388H,同时还出现以下的应答报文格式:




注意:表中D40H表示D40的高字节,D40L表示D40L的低字节,其他定义也一样
4)假设要向1#变频器写“给定[频率”F0-002=50HZ=5000*0.01HZ(小单位)
解析:写入1#变频器D99=“01H”,写入的命令代码D100=“05H”,命令代码对应程序中定义的M150=ON,参数的序号D101=“002”(10进制)=数据地址=“02H”,数据信息=“1388H”,所以数据信息高字节D102=13H,数据信息高字节D102=88H,填写后将出现以下的应答报文格式:




注意:表中D40H表示D40的高字节,D40L表示D40L的低字节,其他定义也一样
使用下表说明:要求填写序号(D101)是指功能码去掉头三个字符"F0-"后,留下的三个字符的10进制,如"F0-000",去掉头三个字符"F0-"后留下"000"就是所说的功能序号,数值大小也等于表中16进制表示的“数据地址”所以填序号实际上就是填数据地址


联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com