ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:123.01KB ,
资源ID:7331034      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7331034.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能烧结配料控制系统技术说明书通信v11Word格式文档下载.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

智能烧结配料控制系统技术说明书通信v11Word格式文档下载.docx

1、 d.接收PC机对它的配置信息:PID参数、给它流量。1.2.1 配料控制器发送的信息a.配料控制器启停应答信息当主控制器发送启动停止信息给配料控制器后,配料控制器要返回一个启或停的应答,告知主控制器是否正常的启动或停止。命令消息PGNSADA使用MOBFunctionID1.配控启停响应0xF1B1配控广播6CF1B1*字节内容1字节,控制器号255, 255为全部控制器2字节,启动停止响应,CF表示启动成功,EF表示停止成功b.实时流量的信息配料控制器在工作的过程中要实时的上报当前称重的流量值,PC机接收到这个数据后进行显示及累加。2.发送实时流量信息0xF1C11CF1C1*1字节,流量

2、数据的第1字节(低)2字节,流量数据的第2字节3字节,流量数据的第3字节(高)c.PID信息 当配料控制器接收到PC机的查询PID参数时,配料控制器要把自己当前设定的PID参数上报。3.PID信息0xF1C2CF1C2*1字节,PID数据的P参数2字节,PID数据的I参数3字节,PID数据的增量参数4字节,PID数据的积分参数 d.报警状态信息 当配料控制器工作状态改变时或是有报警的情况下要发送报警状态信息。4.报警状态信息0xF1A08F1A0*1字节第0位,同时加手自动信号(0x01故障,0x00正常)1字节第1位,过热报警(1报警,0正常)1字节第2位,变频器故障(1故障,0正常)1字节

3、第3位,堆料(1堆,0正常)1字节第4位,卡料报警(1报警,0正常)1字节第5位,运行状态(1运行,0未运行)1字节第6位,运行指示故障(1故障,0正常) e.设定流量信息 当PC机要查询配料控制器当前的流量设定值时,配料控制器要发送这条信息,告知PC机当前设定流量。5.发送设定流量信息0xF1C3CF1C3*3字节,流量数据的第3字节(高)1s1.2.2 配料控制器接收的信息a.配料控制器启停命令 当主控制器让配料控制器启动或停止工作以及在给配料控制器设定新的流量值后要启用新流量就要发送这条命令,配料控制器接收并执行。1.配控启停命令0xF1B0主控2CF1B00F2字节,启动停止,FC表示

4、启动成功,FE表示停止,FB表示变频器复位,FA表示启用新流量 b.查询命令 当PC机工作人员想得知配料控制器的参数设定值及工作状态时,发送查询命令。2.查询命令0xEA00PC3CEA*64第1,2字节组合,F1 C2表示查询PID参数信息;F1 C3表示查询设定流量信息;F1 A0表示查询报警状态信息 c.流量设定命令 当PC机给配料控制器设定流量值时发送这条命令,发送内容为新的流量值。3.流量设定0xE5004CE5*644字节,累计流量数据的第1字节(低)5字节,累计流量数据的第2字节6字节,累计流量数据的第3字节(低) d.PID设定 当PC机给配料控制器设定PID参数值时发送这条命

5、令,内容为新的PID参数。4.PID设定0xE4005CE4*643字节,PID数据的增量限幅参数4字节,PID数据的积分投入带宽参数 e.配料控制器选择设定 当决定使用14个配料控制器中相应的哪些工作时,就要给这些配料控制器发送相应的选中命令,没被选中的配料控制器不工作。5.配控选择设定0xF1D17CF1D4641字节,18#配料控制器选中信息(1选中,0未选中,低位代表小号控制器)2字节,914#配料控制器被选中1.3 主控制器的协议 见协议表,主控制器要做的工作有:a.接收PC机发送的配料控制器的选中信息,发送选中命令选中配料控制器。b.接收PC机发送的系统启动(停止)命令,启动(停止

6、)各个选中的配料控制器,并接配料控制器的启(停)响应。c.接收PC机的查询命令(配料控制器的选中信息、主控制器状态信息)。d.接收配料控制器的报警状态信息,。1.3.1主控制器发送的信息 当主控制器接收到系统的启停命令或是启用新流量命令后,就要给选中的配料控制器发送启停命令。2字节,启动停止,FC表示启动成功,FE表示停止b.配料控制器选择命令当主控制器决定哪些配料控制器准备工作时,就发送配料控制器选择命令。(不是14个配料控制器一定都工作,有备用和不工作的情况)。2.配控选择命令广播/PCCF1D10F c.主控制器状态信息 当主控制器状态改变或是有PC机查询主控制器状态时,主控制器要发送状

7、态信息。3.主控制器状态0xF1D0CF1D00F1字节第0位,主控制器工作状态(1代表工作,0代表不工作)1字节第1位,外电路故障过热保护(0正常,1故障)1字节第2位,大皮带运行状态(0停,1运行)1字节第3位,急停状态(0正常,1急停)1字节第4位,系统启动状态(0未启动,1启动)这个是针对PC发送的系统启动停止的响应1.3.2主控制器接收的信息 a.配料控制器的报警状态信息 主控制器要不停接收各个配料控制器发送的报警状态信息,并做出相应的处理。1.报警状态信息1字节第0位,同时加手自动信号(1故障,0正常) b.配料控制器的启停响应 主控制器在给配料控制器发送启停命令后,要接收配料控制

8、器的启停响应,来确认配料控制器是否成功启停。2.配控启停响应 c.配料控制器的选择设定 当要对某些配料控制器进行选定时,PC机会给主控制器发送选择设定命令。3.配控选择设定0xF1D4广播/主控 d.系统启停命令 当要让系统启动停止时,PC机会给主控制器发送一个系统启停命令,主控制器接收然后控制各个配料控制器启停。4.系统启停命令0xF1DD8CF1DD641字节,FC为启动,FE为停止,FA启用新流量 e.查询命令 PC端想得知各个配料控制器的选中状态和主控制器的状态时,发送这条查询命令。5.查询命令0xE7009CE70F64第1,2字节组合,F1 D1表示查询配料控制器选择信息;F1 D

9、0表示查询主控制器状态二、单片机CAN协议程序设计2.1 CAN控制器相关的程序CAN控制器采用AT90CAN128单片机自带的控制器,与控制器相关的程序主要有控制器的初始化、发送MOB配置、接收MOB的配置:初始化的程序:初始化程序主要是对CAN控制器的复位、中断设置、CAN通信速率的设定。初始化的函数为:代码2.1:控制器初始化程序(CAN.c)void CAN_Init(uchar GIE, uchar M0_7IE, uchar M8_14IE) CANGCON = 0x02; /*启用CAN控制器进入到普通模式 */ while(ENFG = 0) /*判断CAN控制嚣是否启用,当E

10、NFG1时启用*/ CANGIE = GIE; /*设置通用中断使能的各个标志*/ CANIE2 = M0_7IE; /*设定MOB07的中断使能位*/ CANIE1 = M8_14IE; /*设定MOB814的中断使能位*/ CANBT1 = TBT1; CANBT2 = TBT2; /*设定CAN的波特率为250K*/ CANBT3 = TBT3; /*设定值可以参考AT90CAN128手册*/ 其中,GIE为总的中断控制,一般CAN发送的中断不做处理,所以开总中断和接收中断,MO_7IE和MO_14IE,为MOB014的中断使能。 接收MOB的配置函数:接收MOB的配置函数用于为接收某条

11、(某类)CAN信息设置相应的MOB,包括ID,屏蔽字、帧类型。控制器接收MOB配置程序(CAN.c)void TMob_Config(uchar MOB, uchar PRI, uchar JPF, uchar PS, uchar SA, uchar DA, uchar DL, uchar Data) uchar Tmp = 0x00; /*定义一个临时变量*/ CANPAGE = MOB4; /*选中MOB参数所指的MOB*/ CANCDMOB = 0x10|DL; /*设定要发送数据长度及帧格式为扩展*/ Tmp = JPF; CANIDT1 = (PRI 5); /*CAN的ID1寄存器

12、存放优先级和PF的高5位 if(PS = 0) /*如果PS=0,为点对点通讯,则ID寄存器PS处填DA CANIDT2 = (JPF /*CAN的ID2寄存器处填PF的低5位和DA的高3位*/ CANIDT3 = (DA /*ID3寄存器填DA的低5位和SA的高3位*/ CANIDT4 = (SA 3); /*ID4寄存器高5位填SA的低5位RTRRAG、RB1TAG、RB2TAG填0*/ else /*如果PS /*ID2填PF的低5位和PS的高3位*/ CANIDT3 = (PS /*ID3填PS的低5位和SA的高3位*/ /*ID4填SA的高5位和RTRRAG、RB1TAG、RB2TA

13、G填0*/ for(Tmp=0; TmpDL; Tmp+) /*给CANMSG寄存器DL个字节的发送值*/ /*CANMSG的指针会自动加1*/ CANMSG = DataTmp; if(PS = 0) /*如果PS=0,为点对点信息 则PS处填DA*/ CANIDT2 = (JPF CANIDT3 = (DA CANIDT4 = (SA else /*如果PS不为0,为广播信息 则PS处填PS的值*/ CANIDT3 = (PS CANIDM1 = (MPRI5); /*填写优先级PRI、保留位和PF高三位的屏蔽码 第1字节*/ CANIDM2 = (MPF /*填写PF低5位、PS或DA的

14、高三位屏蔽码 第2字节*/ CANIDM3 = (MPS /*填写PS或DA的低5位和SA的高3位的屏蔽 第3字节*/ Tmp = (SA3)&0xFD; /*填写SA的低5位和第2位(保留位)的屏蔽,第2位必须填0*/ Tmp |= 0x04; /*屏蔽第4字节RTRMASK位*/ Tmp |= 0x01; /*屏蔽第4字节IDEMASK位*/ CANIDM4 = Tmp; /*填第4字节的屏蔽*/由于系系统协议是仿照J1939协议进行制定的,J1939的ID要填到CAN控制器的ID寄存器,就要做一些对应转换。为了使用方便,转换过程也在这个函数里实现,而函数提供的入口参数是接照J1939的格

15、式给出的。 发送MOB的配置函数:发送MOB程序结构比接收MOB的简单一些,把J1939用的ID转换到CAN控制器的寄存器存放,不用设置屏蔽字,还要做的就是把数据字节填入CANMSG寄存器。具体程序见CAN.c接收MOB配制程序,接收配制程序主要设定接收某个ID号及DL长度的数据使用哪个MOB,针对这个工程,滤波屏蔽字设定为全部屏蔽。在其它的应用中,可以增加屏蔽字参数。2.2 与协议相关的CAN程序 协议相关的程序主要是调用接收、发送MOB配置两个函数,在使用时指定好相应该的MOB和ID,注意MOB的使用不要冲突。另外采集器有更改ID的情况,在更改ID后,接收MOB里的ID也要进行更改,这就需

16、要执行一遍接收相关的MOB配置函数(USECAN_SOFT函数),MOB对应关系表如下:数据或命令(配料控制器)函数发送配料控制器启停响应0xCF1B1*T_RHAck实时流量信息0xCF1C1*T_FlowPID信息0xCF1C2*T_PID报警状态信息0x8F1A0*T_Alarm发送设定流量信息0xCF1C3*T_FlowConfig接收配控启停命令0xCF1B00FR_ RHConfig查询命令0xCEA*64R_Query流量设定0xCE5*64R_CompositePID设定0xCE4*64R_PID配料控制器选择设定0xCF1D10FR_Select 主控制器遵照协议同样采用调用

17、接收和发送MOB配置函数完成CAN总线的通信。数据或命令(主控制器)T_Start配控选择命令T_Select主控制器状态0xCF1D00FT_StatusR_AlarmStatus配控启停响应R_StartAck配控选择设定0xCF1D4*系统启停命令0xCF1D0*R_SysStart0xCE70F64R_PCQuery三、PC端VB的DDE服务接口程序 PC端的程序主要的功能是对USBCAN模块数据收发,并做为DDE服务端与组态王进行数据交换,组态王所有收发的CAN数据都要通过VB的程序传送。另外要注意的问题是,由于组态王的6.52的DDE存在一BUG,所以在使用组态王DDE功能时要另外

18、安装组态王所提供的补丁,DDE的建立的方法也与组态王手册所述不同,具体建立方法见设计说明书的组态部分。VB程序这边要做的是把Form的LinkMode设置为Source,把LinkTopic设置一个话题名,这里取的是DDEform。还有要注意的是由于交换必须采用text文本框控件完成,并且数据很多,会造成text控件数量超多256个(超过VB的允许),所以要采用控件数组来完成。3.1 USBCAN模块的DLL加载与使用 CAN接口模块使用的是吉阳光电的USB2000(两路CAN接口、1个USB接口),数据帧缓存数是120帧,流量为3000帧/秒,提供的光盘里有相应的例程和DLL,可以使用VB、

19、VC进行编程,自带了一个CANTOOL软件。用VB对期编程时要注意两个问题:1资料所提供的VB例程是有问题的,里面所带的DLL版本较老,应该使用安装完的CANTOOL里的DLL,版本号为5.12.5.23;2提供的Module1.bas模块文件里定义有错,代码红色部分Reserved(0 TO 2)原来错写为(0 to 3)代码3.1:Module1.basPublic Type PVCI_CAN_OBJ VCI_CAN_OBJ 结构体在VCI_Transmit 和VCI_Receive 函数中被用来传送CAN 信息帧。 ID(0 To 3) As Byte 报文ID,共4 字节。 TimeS

20、tamp As Long 目前不支持。 TimeFlag As Byte SendType As Byte 保留未用。 RemoteFlag As Byte 是否是远程帧。 ExternFlag As Byte 是否是扩展帧。 DataLen As Byte 数据长度(=8),即Data 的长度。 Data(0 To 7) As Byte 报文的数据。 Reserved(0 To 2) As Byte 系统保留。(0 TO 2)是对的。End Type USBCAN模块的加载过程:首在在VB的工程里先要添加Modules1.bas模块,这样在程序里才能调用它图3.1 添加模块示例的收发结构。然

21、后在就用程序里加载设置模块,然后再定义收发结构就可以进行收发数据了。 加载设置模块的过程如下(代码3.2):代码3.2:Dim i As IntegerDim TmpDevice As LongDim TmpInit As LongDim TmpStart As LongDim pDataInfo As PVCI_INIT_CONFIG 定义一个CAN模块初始化结构体,下面初始化pDataInfo.AccCode = &H10000001 设置接收码pDataInfo.AccMask = &HFFFFFFFF 设置滤波字,全不滤波模式pDataInfo.Filter = 0pDataInfo.Mode = 0 模式设定 0普通 1自收发pDataInfo.kCanBaud = 10 波特率索引 250K 10pDataInfo.Timing0 = &H1 pDataInfo.Timing1 = &H1C TmpDevice = VCI_OpenDevice(3, 0, 0)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2