欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    PC与三菱PLC之间的RS232通讯协约.ppt

    • 资源ID:3694364       资源大小:175.52KB        全文页数:9页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PC与三菱PLC之间的RS232通讯协约.ppt

    东莞图冠智能科技有限公司,陈安标 交流QQ:458362670,PC与三菱PLC之间的RS232通讯协议,一、VC与PLC的串口通讯主要操作: 1、对位元件和字元件状态读操作; 操作对象元件:PLC内部的X、Y、M、S、T、C、D元件 命令通用格式: STX CMD0 ADD LEN EXT CHK 意义: 起始符 读命令 元件起始位 个数 停止符 校验码 数字代码格式: 0X02 0X30 0X03 0 x30是读操作指令; ADD是读位元件或字元件的4位起始地址,高位先发,低位后发,以ASCII码的格式发送; LEN是一次读取位元件或字元件的个数,最多可以读取0 xff个字节的元件,也是以ASCII码的形式发送; CHK是两位和校验,将CMD0,ADD,LEN,EXT三项进行和累计,将和累计的最低两位转化成ASCII,高位先发,低位后发。 在发完上述命令格式代码后,就可以直接读取PLC响应返回的信息, 响应信息格式:STX DATA EXT CHK 意义: 起始符 接收的数据 停止符 校验码 数字代码格式:0 x02 0 x03 DATA为我们需要读取的数据; 需要注意的是:读取DATA数据时遵循低位先发,高位后发的原则,所以我们解析数据的时候需要注意高低位的转换。 CHK则为DATA,EXT两项的和累计的最后两位转化为ASCII。,2、位元件和字元件状态写操作; 操作对象元件:PLC内部的XYMSTCU元件 命令通用格式:STX CMD1 ADD LEN DATA EXT CHK 意义: 起始符 读命令 元件起始位 个数 写入的数据 停止符 校验码 数字代码格式:0X02 0X31 0X03 0 x031是写操作指令; DATA是待写入PLC缓冲区的数据,低位先发,高位后发,以ASCII码的形式发送; 其他和读指令一样,此处不再重复; 发送后返回值为06,表示写入成功; 返回值为15,表示写入失败;,二、IPC读取PLC内部数据时: 首先将需要读取的PLC内部元件的地址找到,主要内部元件地址如下: D: m_address*2+1000H; T: m_address+00C0H; C: m_address*2+01C0H; S: m_address*3; M: m_address*2+0100H; Y: m_address+00A0H; X: m_address+0080H;(只能读不能写,输入寄存器必须由外部信号驱动) m_address元件是指最低位开始后的第N个元件的位置。 数据通讯举例: 例1:读D0的值 D0的内部地址为1000H=31H 30H 30H 30H LEN表示我们需要读字节的个数,0-7为一个字节,D0占两个字节,所以LEN=30H 32H. 计算CHK校验码=CMD0+ADD+LEN+EXT =30H+31H+30H+31H+30H+30H+32H+03H=157H 所以校验码为35H 37H. 得到完整的数字命令格式为:02H 30H 31H 30H 30H 30H 30H 32H 03H 35H 37H 将这段数字代码发送给PLC, 返回代码:02H 30H 30H 30H 30H 03H 43H 33H 得到数据段DATA为30H,31H,30H,30H=0001B(低位先发,高位后发)=1D 至此得到D0=1. 完成IPC读取PLC内部数据的全部过程。,IO通讯举例: 例2:读取Y1的值 Y1的内部地址是00A0=30H 30H 41H 30H,表示的意思是Y7-Y0的地址,Y1只是其中的一个位。 LEN因为00A0只有一个字节,所以可以去LEN=01D=30H 31H; 计算CHK校验码=36H 35H; 得到完成的数字代码为:02H 30H 30H 30H 41H 30H 30H 31H 03H 36H 35H; 返回代码:02H 30H 32H 03H 36H 35H 数据段为:30H 32H=02D=0010B 从Y7-Y0低往高排列可以知,Y1现在是状态值为1; 如果这里取LEN=2D=30H 32H 发送代码:02H 30H 30H 30H 41H 30H 30H 32H 03H 36H 36H; 返回代码:02H 30H 32H 30H 30H 03H 43H 35H 数据段为:30H 32H 30H 30H=0002B(低位先发,高位后发)=2D 从Y7-Y0低往高排列可以知,Y1现在是状态值为1; 注意:全部过程中,PLC内部程序不需要做任何程序编写。,三、PLC读取IPC数据时: 数据通讯举例: 例1:PLC读取IPC内部参数X的值。 思路:1、先将X的值转化成数字代码形式。 2、再讲X的值发送写入PLC内部数据寄存器中; 3、然后PLC直接读取这个数据寄存器的数据。 设:X=2;数据写入PLC内部数据寄存器D0中 则DATA=X=2=0010H=31H 30H 30H 30H(低位先发,高位后发); ADD=31H 30H 30H 30H; LEN=02D=30H 32H.;(D为10进制;H为16进制) CHK=CMD1+ADD+LEN+DATA+EXT; =31H+31H+30H+30H+30H+30H+32H+31H+30H+30H+30H+03H=218H 则校验码为:31H 38H 完整的数字代码为:02H 31H 31H 30H 30H 30H 30H 32H 31H 30H 30H 30H 03H 31H 38H 返回值为06表示写入成功,PLC直接读取D0里面的数据即可。 完成PLC读取IPC数据。 当然这只是即时的读取,如果需要可控性的话,需要增加自定义读取和发送标志位,多加个数据用来表示控制字节用。,IO通讯举例: 例2:IPC置位PLC内部位元件Y1 思路:1、确定Y1地址(读操作已说明); 2、就于写入的原理,需要先读取00A0的值; 3、将读取的值与0010进行 写入数据:00A0表示的是Y7-Y0 8个位,需要Y1为1,写入00000010B=02H,但是LEN为2,表示2个字节,所以需要写入0002H转化为30H 32H 30H 30H(低位先发,高位后发); 完整代码:02H 31H 30H 30H 41H 30H 30H 32H 30H 32H 30H 30H 03H 32H 39H 返回:06写入成功。,四、数据通讯VC代码编写分析实例: 例1:将IPC端3个数据: X=1003.5;Y=-4500;Z=-3.1456 写入PLC中 代码编写步骤: 1、将XYZ分别转化成整数,然后保存其小数位数,这里将XYZ分别都乘以10的N次方,直到其不在 -32767-32767范围后分别保存乘以10的个数在N1,N2,N3中; 从而得到 X=10035 ; N1=1; Y=-4500; N2=0; Z=31456; N3=4; 2、将X、Y、Z、N1、N2、N3分别转换成16进制; 3、再转化为16进制ASCII码; 4、将得到的16进制ASCII码按照X、N1、Y、N2、Z、N3的顺序排列进counts35数组中; 5、计算校验码; 6、将数据counts35每个数转化为对应的两个ASCII码值保存于counts_ascii70中; 例如:“35”转化为“3”和“5”; 7、将ASCII码转化为字符串代码保存于a270,累加排列输出; 例如:“3”的字符串代码为48+3=51; 8、返回值06,表示写入成功。,例2:读取PLC内部数据X、Y、Z的值 (读取D0-D5的数据) 代码编写步骤:(思路与上例一样) 1、将固定读取的数字代码发送给PLC, 固定读取D0-D5的数字代码为:02H 30H 31H 30H 30H 30H 30H 43H 03H 36H 37H 2、发送成功后,则有数据信息反馈;不成功则返回15; 3、将返回的窗口输出字符串依次保存在字符串数组char s184中; 4、将数组s1转化为数字保存在数据b中;类似:字符串数字51=“3”; 5、将数组b转为16进制ASCII,再转化为10进制保存在数组c中; 例如:“3”“5”=3*10+5=35;再如:35H=5D; 6、将数组c转为2进制,方便判断正负数和后期运算,保存在数值c2中; 7、判断正负数,设立标志位flog; 如果为负数,则将其二进制取反加1后转化为10进制整数; 如果不为负数,则直接转化为10进制整数; 8、得到的数分别保存在D0、D1、D2、D3、D4、D5中(IPC内部变量区别开PLC内部数据寄存器); 自定义运算; 可以得到 X=D0/(10D1);/D0除以10的D1次方 Y=D2/(10D3); Z=D4/(10D5);,

    注意事项

    本文(PC与三菱PLC之间的RS232通讯协约.ppt)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开