| 作者 | 主题 |
|---|---|
|
我爱小猪 侠客 经验值:811 发帖数:634 精华帖:3 |
楼主
主题:mc35/tc35的一些使用交流
前些天对MC35I进行了一次测试,虽然以前已经用过TC35的模块,但是由于当初没有进行很好的总结,年长日久,又犯了很多错误.今天把这些总结出来,给自己留个醒,也希望给要用这个的朋友做个向导.
唉,小猪没有了。
|
|
我爱小猪 侠客 经验值:811 发帖数:634 精华帖:3 |
楼
主题:回复:mc35/tc35的一些使用交流
Mc35I-TC35I的调试方法简介:
1、 准备工作(可以根据具体变更) 1) PC;(带超级终端,串口调试助手,RS232,MICROWIN 4.0) 2) S7-200PLC(建议CPU224XP或CPU226,两个通讯口方便调试。 3) PC/PPI电缆;(2根) 4) 通讯线缆一根;接线方式:公的DB9头两个,2,3交叉,1,4,5,6,7,8,9等其余线全部直接连。设为线RA; 注:此处在TC35I的手册中说全部直连,经过试验应该需要2,3交叉,所以应该是手册上的错误。 5) 两端DB9的,一公,一母,线缆全部直接连的线一条。设为线RB; 6) MC35I 终端一个;(或者TC35I终端一个) 2、 调试步骤 1) 调试MC35I的AT指令; a、具体连接:PC RS232 — 线RB;将MC35上电; b、打开超级终端,设置好通讯参数(包括波特率,数据位校验等,一般设定成默认即可)如:波特率9600,数据位8,奇偶校验无,停止位1,数据流控制无。 c、发送:AT(加上回符),看返回是否为: AT(加回车) OK(加回车) 注:以上AT之后有回车,OK之后也有回车。 在这里:你可以尽情地尝试所有的AT指令,看能否正常返回各种信息,或者观察MC35I是否能够正常执行。 一般建议测试以下几个指令: (1) AT(加回车) (2) AT+CMGF=1(加回车) 这两个指令返回的都是: 原命令(加回车);(如发送的是AT,会返回 AT(加回车),OK(加回车))。 OK(加回车) 注:因为PLC内部无法打出回车,换行等符号,所以需要将这些符号转换成16进制码,一般可以查ASCII码表,例如回车符号为:16#0D;换行符号为:16#0A。等等。 如果查阅之后不够肯定到底用回车的16进制码还是换行的16进制码,那么可以进行如下方法测试得到。 将PLC和PC通过PC/PPI电缆连接,然后PLC中写自由口通讯程序,超级终端发送:AT(加回车) 或者发送:AT+CMGF=1(加回车) 命令,然后在PLC接收缓冲区内看收到的结束码是哪个,那么这个码就是实际用的码。 此方法更适用与检查一些特殊字符的16进制码,(如CTRL+Z等)。 以上测试都是测试MC35I是否正常,如果通过,则可以进入第二部测试 2)调试PLC的自由口通讯: 连接如下: PC(RS232口) — PC/PPI — PLC PORT1; a) 编写PLC程序,自由口通讯,让PLC启动后自动发送,通过超级终端发送回复: b)看超级终端接收:AT(加回车) 用超级终端发送:OK(加回车) C)然后检查PLC接收缓冲区是否正常接收到了: 原命令(加回车);(如发送的是AT,会返回 AT(加回车),OK(加回车))。 OK(加回车) 在此过程中要特别注意结束符的16进制码; 如果此项调试成功,说明自由口程序调试成功。 3) 连调: 连接如下: PC(RS232口) — PC/PPI — PLC PORT1; PLC PORT0 — PC/PPI — 线RA —MC35i; a) 给PLC编写自由口通讯程序,通过PORT0自由口发送: AT(加回车); //16进制:16#61,16#74,16#0D 或AT+CMGF=1(加回车) b) 用PC上MICRO WIN 4.0监测PLC;看是否监测到MC35I的回复; 如果回复为: 原命令(加回车);(如发送的是AT,会返回 AT(加回车),OK(加回车))。 OK(加回车) 则该测试成功,调试结束。 4) 一般遇到的问题: a) 在第一步单独测试MC35I的时候,MC35I没有回复; 原因一般为: (1) 发送的命令格式不对,特别检查结束符号的正确性; 在用调试助手或者是用其他发送的时候特别要注意结束字符; (2) 线缆不对,检查线缆是否插紧;检查线缆RB是否九针一一直连; (3) 是否有上位机其他软件占用了串口; (4) 是否MC35i模块问题,换一个模块; b) 连调的时候,MC35I没有回复; (1) 发送的命令格式是否不对; (2) 线缆不对,检查PLC—PC/PPI—线RA连接正常; 检查线RB是否是2,3交叉,其余直连。 (3) 是否模块问题。 c) 连调时,MC35I回复原来的命令;即:发送AT(加回车),返回AT(加回车),而没有OK(加回车)等回复的返回字符; (1) 检查PLC自由口程序中,是否设置了结束字符。将结束字符的设置去掉,改用空闲线检测的方式。 附录:自由口通讯测试程序(仅供参考): Main: Network1: LD First_Scan_On MOVB 16#09, P0_Config MOVB 16#90, P0_Ctrl_Rcv //这里需要注意不要使用结束字符控制 MOVW 5, P0_Idle_Time //空闲线检测时间5MS; MOVB 100, P0_Max_Char ATCH INT_0, 23 //接收完成中断连接 ATCH INT_1, 9 //发送完成中断连接 ENI //使能中断 MOVB 10, VB700 MOVB 'a', VB701 MOVB 't', VB702 MOVB '+', VB703 MOVB 'c', VB704 MOVB 'm', VB705 MOVB 'g', VB706 //命令字发送 Network2: LD First_Scan_On MOVB 'f', VB707 MOVB '=', VB708 MOVB '1', VB709 //命令字发送 MOVB 16#0D, VB710 XMT VB700, 0 //发送缓冲区 VB700指定的数据 Int_0: //接收完成中断 LD Always_On S M10.3, 1 //察看是否接收完成标志 Int_1: //发送完成中断 LD Always_On S M10.0, 1 //察看是否发送完成标志 RCV VB200, 0 //接收缓冲区VB200 该程序只做了一次发送接收,如果需要多次,自动发送接收,可以在此基础上改动。
唉,小猪没有了。
|