您的位置:控制工程论坛网论坛 » PLC与PAC » ORMON PLC与温度仪表485串口通讯的实现

wangchen

wangchen   |   当前状态:在线

总积分:9915  2024年可用积分:7

注册时间: 2010-03-25

最后登录时间: 2024-05-22

空间 发短消息加为好友

ORMON PLC与温度仪表485串口通讯的实现

wangchen  发表于 2010/5/30 14:04:56      2526 查看 3 回复  [上一主题]  [下一主题]

手机阅读

 
OMRON PLC与其它仪表或设备通讯(无论是OMRON仪表或第三方仪表),要用带协议宏的串口通讯模块或模板,根据仪表或设备的通讯协议作相应的程序,建立相应的连通通道,就可对仪表进行读和写。
笔者曾为客户作过PLC与第三方温度仪表的通讯,现呈给各位,请指正。
所用PLC为OMRON C200HE-CPU42,配通讯模块C200HW-COM06,使用其A口(RS485)与温度表TTM-120通讯。
1、所用温度仪表“神王”TTM-120通讯协议:
EIA标准:RS485
通讯:站 1~31
传输:半双工
通讯码:ASCll  7位(BCC除外)  8位(MSD位=0)
接口方式:2线制
通讯速度:1200,2400,4800,9600
通讯距离:500Mmax
字符:启动位:1位
停止位:1/2位
数据:7/8位
校验:无/奇/偶
BCC校验:预先/不选择
通讯地址:1~99
通讯格式:
  读数据:STX(02H 起始码)+地址(2位)+R+标识码(3位)+ETX(03H 结束码)
  仪表返回:STX(02H 起始码)+地址(2位)+ACK(06H 响应)+标识码(3位)+数据(5位)+ETX(03H 结束码)
  写数据:STX(02H 起始码)+地址(2位)+W+标识码(3位)+ 数据(5位)+ETX(03H 结束码)
  仪表返回:STX(02H 起始码)+地址(2位)+ACK(06H 响应)+ETX(03H 结束码)
  错误信息响应:STX(02H 起始码)+地址(2位)+NAK(15H 错误响应)+错误格式(1位)+ETX(03H 结束码)
2、用协议宏软件CX-PROTOCOL作协议宏程序
可用用CX-PROTOCOL中现有的系统标准协议COPY到新建的程序中,再作修改,当然也可重新编制。
在新建的程序的DEVICES中选择所用的PLC型号,
通讯口A参数设置方式为:PROTOCOL MACRO;并以仪表的通讯格式设置波特率等参数。
协议宏程序中有若干内容:主要是发送信息列表;接受信息列表;这两个表是协议宏的基本程序。再有就是具体的发送形式和接受形式,其它功能的读写形式,仪表的其它功能的读写形式。
我作了四种,根据仪表协议中的各个格式,编制宏程序,如下:
发送信息列表:
①写数据:SD(01)_1
<h>:STX
<t>:ETX 
数据形式:变量格式($(R(2),5))
地址格式:ASCll变量格式($(R(1),2)
"W":写请求
标识符(仪表功能参数:写入设定值)“空格SV”
数据格式:<h>+<a>+"W"+" SV"+($(R(2),5))+<t>
②  读请求:SD(02)_1
地址格式:ASCll变量格式($(R(1),2)
"R":读请求
标识符(仪表功能参数:读入过程值)“PV1”
数据格式:<h>+<a>+"R"+"PV1"+<t>
接受信息列表:
①接受响应:RV(01)_1
"ACK":响应接受
数据格式:<h>+<a>+"ACK"+<t>
②接受数据:RV(02)_1
数据形式:变量格式(&(W(1),*)) 存入PLC指定的接收数据
数据格式:<h>+(&(W(1),*))+<t>
写入命令设置:
编号:050
命令:发送&接受
发送命令:SD(01)_1
接收命令:RV(01)_1
读入命令设置:
编号:051
命令:发送&接受
发送命令:SD(02)_1
接收命令:RV(02)_1
编制设置完成,下装到PLC中。
3、用CX-PROGRAMMER作通讯程序
程序用协议宏指令PMCR完成与仪表的通讯:
三个操作数:一:控制字:端口+协议宏序列号
二:发送数据首址 占2/3个字,首字是指令字数;下一字为仪表地址;
对于写命令要多一个字为设定值
三:接收数据首址 占4个字,首字是命令字数;下两字是接收的5位数据。
对于写命令该操作数为虚设字,没有实际意义
  读指令:PMCR #1051  端口=1 序列号051(读出)
                DM0000  DM0000=#0002   DM0001=#0001
                DM0030     DM0030=#0004   DM0031~DM0033=数据
  写指令:PMCR #1050       端口=1 序列号050(写入)
                DM0020     DM0020=#0003   DM0021=#0001 DM0022=设置值
                DM0040(虚设)
  协议宏执行标志:端口一(A):α机为IR289.08  CQM1H为IR207.08
                  端口二(B):α机为IR289.12  CQM1H为IR207.12
当这变量=0时,方可执行PMCR命令
每个端口只能执行一个通信序列,可以不同的时间段产生PMCR指令的执行脉冲。
4、对于若干个仪表,每表设置不同的站号,就可由程序分别对其作读写操作,只有地址相符的仪表才能响应。
1楼 0 0 回复
  • ahljj

    ahljj   |   当前状态:在线

    总积分:11781  2024年可用积分:0

    注册时间: 2006-12-25

    最后登录时间: 2020-08-19

    空间 发短消息加为好友

    ahljj   发表于 2010/4/13 12:55:32

    学习了
    2楼 回复本楼

    引用 ahljj 2010/4/13 12:55:32 发表于2楼的内容

  • 218hty

    218hty   |   当前状态:在线

    总积分:9071  2024年可用积分:0

    注册时间: 2006-08-18

    最后登录时间: 2019-06-25

    空间 发短消息加为好友

    218hty   发表于 2010/5/10 20:37:27

    第三方的仪表通讯没有做过,学习了。
    3楼 回复本楼

    引用 218hty 2010/5/10 20:37:27 发表于3楼的内容

  • gis100

    gis100   |   当前状态:离线

    总积分:62  2024年可用积分:0

    注册时间: 2010-05-30

    最后登录时间: 2010-05-30

    空间 发短消息加为好友

    gis100   发表于 2010/5/30 14:04:56

    单片机培训视频-ARM培训-dsp-CPLD-FPGA开发视频-嵌入式系统开发视频
    ◆◆◆◆◆◆◆
    单片机视频教程介绍
    这是一部学单片机革命性的视频教程,每讲3小时左右,讲座从最基本的预备知识开始讲起,非
    常详细的讲解KEIL编译器的使用,包括软件仿真,测定时间,单步
    运行,全速运行,设置断点,调试,硬件仿真调试,变量观察等,
    整个过程全部用单片机的C语言讲解,从C语言的第一个主函数
    MAIN讲起,一步步一条条讲解每一个语法,每条指令的意思,即
    使对单片机一巧不能,对C语言一无所知,通过本课程的内
    容也可以让你轻松掌握51单片机的C语言编程设计,全新的讲课风
    格跳过复杂的单片机内部结构知识,首先从单片机的应用讲起一步
    步深入到内部结构,让学生彻底掌握其实际应用方法,把51单片机
    的所有应用每个部分都讲解的非常仔细,教师在教室前面用电脑一
    条一条写程序,旁边单片机实验板一个实验一个的演示,
    给学员解释每条指令的意思及原理,通过十天的时间让学生完全掌
    握单片机的C语言编程。全程的屏幕,声音,用屏幕录像,实验板
    现象用摄像头拍摄,这部教程算是国内首个如此创新的以教师亲自
    实践为主,学员现场写程序,直接下载到实验板看现象,讲单片机
    的视频教程,只要你认真看,认真听,保证很快让你学会单片机
    ------------------------------------------------------
    目录如下:
    一 ,预备知识
    点亮一个发光管 单片机能做什么,基本电子知识,C51知识简介,点亮
    一个发光管,如何申请免费芯片样品。
    二,流水灯设计蜂鸣器发声
    简单延时程序、子程序调用、带参数子程序设计、流
    水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继
    电器,集电极开路的概念及应用
    三,数码管显示的原理、
    数码管的静态显示共阳、共阴数码管显示原理、定时器工作方式介绍、
    重点讲述工作方式2、中断概念及中断函数写法、定
    时器中断应用
    四,数码管的动态显示原理及应用实现  
    动态扫描概念、定时器、中断加深
    五,独立键盘、矩阵键盘的检测原理及实现
    键盘检测、消抖、键盘编码、
    带返回值函数写法及应用
    六,AD、DA的工作原理及实现
    模拟电压与数字电压的关系、
    为什么要使用AD及DA、ADC0804的操作方法、DAC0832的操作方法
    七,串口通讯原理及操作流程
    串口通讯工作方式、重点讲述最常用的10位数据通讯、
    波特率概念及如何根据波特率计算定时器初值
    八,IIC总线AT24C02芯片工作原理,IIC总线工作原理、
    目前非常通用的一种通信机制
    九,1602液晶显示原理及实现
    最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作
    十,电路图绘制全过程
    最顶级电路板设计软件Altium Designer使用、
    元件库、封装库设计、绘制原理图、错误检查、
    生成PCB、手动、自动布线、送去加工
    ----------------------------------------------
    ◆◆AVR单片机视频内容◆◆:


    第一讲:开发板和软件的操作使用
    1、介绍配件。
    2、安装软件(ICC AVR 和AVR STUDIO)及其使用,括新建工程、程序下载,仿真调试;整板测试;板上资源。
    3、着重介绍一下USB接口的仿真器。
    第二讲:AVR单片机的概述和C语言的基础知识
    1、AVR单片机的概述包括它的优点、片上资源。
    2、C语言的基础包括电平特性、2进制与16进制的表示及转换、二进制数的逻辑运算,数据类型,运算符。
    3、着重讲一下特有的BIT()操作,C中的各种语句。
    4、介绍一下AVR单片机IO口的配置。
    第三讲:点亮发光二极管、驱动蜂鸣器、继电器
    1、首先讲解一下原理图上开关电路、复位电路、时钟电路;
    2、讲解573工作原理,
    3、首先点亮一个发光二极管,然后让一个二极管亮灭变化。
    4、编写函数证明573的工作原理:锁住后不导通就不能再更新数据。
    5、编写延时函数,软件仿真查看延时的精确时间
    6 子函数的编写(分带形参和不带形参)。
    7、编写流水灯函数。
    8、蜂鸣器,继电器的工作原理并编写程序。
    第四讲:数码管工作原理
    1、共阴共阳数码管内部结构,显示原理。
    2、用数字万用表标定数码管的段选和位选
    3、编写程序使1个数码管上显示数字
    4、编写程序在6个数码管上滚动显示数字
    5、重点讲解动态显示,保持时间,以及扫描频率对闪烁和亮暗程度的影响。
    第五讲:键盘检测原理(比较复杂)
    1、键盘作用,检测原理,如何消抖,独立键盘检测程序编写。
    2、矩阵键盘检测程序编写,涉及到返回值函数调用。
    第六讲:1602液晶的使用
    1、看手册,管脚、写指令和数据、时序图。
    2、编写程序,显示光标
    3、编写程序显示字,
    4、编写程序,滚动显示字符
    第七讲:中断、定时器的原理和应用(比较复杂)
    1、中断的概念,AVR单片机的中断
    2、定时/计数器1几种模式的寄存器配置
    3、定时器1普通模式下实现秒表
    4、CTC模式输出方波
    5、快速PWM模式输出PWM信号
    6、相位修正PWM模式输出PWM信号
    第八讲:AD、DA简介及其应用
    1、AD简介,AVR内部AD寄存器设置
    2、编写程序控制AD读写电位器输出的模拟电压
    3、SPI串行通信简介
    4、DA简介,AD5300时序图
    5、编写程序控制DA输出模拟电压使发光二极管亮度变化
    第九讲:TWI(IIC)
    1、TWI(IIC)协议简介
    2、AVR单片机内部TWI寄存器简介,操作流程
    3、具有IIC协议的数字电位器芯片AD5161的简介
    4、编写程序用独立键盘控制AD5161输出不同的阻值
    第十讲:异步串口UART的简介和程序的编写
    1、UART简介
    2、AVR单片机内部与UART相关的寄存器的配置
    3、编写程序控制AVR单片机和电脑进行通信
    4、讲解串行通信时数字和字符之间的区别
    第十一讲:PS2键盘、DS1302的工作原理和程序的编写
    1、AVR单片机外部中断的介绍
    2、PS2键盘的工作原理
    3、讲解程序,读取PS2键盘的按键值并在1602液晶上显示
    4、DS1302的工作原理
    5、讲解程序,控制1302工作并在1602液晶上显示时间
    --------------------------------------------------
    ◆◆MSP430单片机视频◆◆:


    第一部分 硬件结构


    第一讲 概述
    第二讲 复位、中断和IO
    第三讲 异步通信接口1
    第四讲 异步通信接口2
    第五讲 定时器
    第六讲 FLASH
    第七讲 ADC12
    第二部分 软件使用
    第一讲 软件使用
    第三部分 基础程序
    第一讲 入门和低功耗
    第二讲 时钟和IO
    第三讲 比较器和定时器和ADC
    第四部分 模块程序
    第一讲 控制电路和流水灯
    第二讲 键盘
    第三讲 蜂鸣器和数码管
    第四讲 1602液晶和电平转换
    第五讲 EEPROM和18B20和DS1302
    第六讲 RS232和RS485接口
    第七讲 USB接口
    第八讲 ADC和DAC
    ==============================
    ◆◆PIC 单片机 视频◆◆
    前言:时间:10分。
    内容:MPLAB、PICC软件的安装、USB下载驱动安装。
    Lesson1:时间:1小时44分。
    内容:PIC单片机简介、软件使用方法、新建工程、软件调试、流水灯程序实现。
    Lesson2:时间:27分。
    内容:数码管的静态显示与动态显示原理及实现。
    Lesson3:时间:53分。
    内容:PIC单片机独立键盘检测原理及实现。
    Lesson4:时间:45分。
    内容:PIC单片机矩阵键盘检测原理及实现。
    Lesson5:时间:46分。
    内容:PIC单片机控制继电器原理及实现。
    Lesson6:时间:2小时20分。
    内容:PIC单片机控制DS18B20数字温度传感器原理及实现。
    Lesson7:时间:53分。
    内容:PIC单片机定时器0的使用方法。
    Lesson8:时间:34分。
    内容:PIC单片机定时器1的使用方法。
    Lesson9:时间:32分。
    内容:PIC单片机定时器2的使用方法。
    Lesson10:时间:1小时01分。
    内容:PIC单片机内部模数转换器AD的使用方法。
    Lesson11:时间:1小时50分。
    内容:PIC单片机内部SPI通信接口的使用方法。
    Lesson12:时间:2小时12分。
    内容:PIC单片机内部IIC通信接口的使用方法。
    Lesson13:时间:53分。
    内容:PIC单片机串行口使用。
    ===============================
    【ARM培训视频】课程主要内容


    1.概念和基本工具:
    嵌入式系统基本概念、嵌入式操作系统介绍
    嵌入式系统开发的过程和基本结构
    Linux基本操作命令的使用
    常用工具使用:vi /gcc/gdb等
    编写shell程序 和makefile文件结构


    2.硬件结构及原理讲解:
    ARM7~ARM9体系结构体系结构介绍
    ARM7(9)TDMI处理器内核及指令集介绍
    讲解SUMSUNG 44B0X 开发板原理图
    讲解SUMSUNG 2410 开发板原理图
    ARM开发工具ADS的使用


    3.Linux部分:
    Uclinux,mizilinux系统引导程序bootloader原理和实现过程:Uboot、vivi等
    ARM系统空间划分及系统映射方法
    bootloader内核下载模式实现 :tftp、Xmoden
    linux操作系统原理及组成
    介绍linux系统目录组织结构
    linux 运行基理,系统运行过程
    配置裁减编译linux内核


    4.讲解Linux进程特性:
    进程属性和状态转换;进程控制与调度;进程相关系统调用,构建守护进程
    进程间通信: 进程通信的基本概念,管道、信号、消息队列、信号量、共享内存。
    网络通讯接口,socket通信编程。
    串口通讯程序和编程实践
    多线程程序设计


    5.Linux设备驱动:
    uClinux内核模块及设备驱动程序开发
    介绍linux驱动程序分类和各自操作系统上下层接口
    驱动开发实例:蜂鸣器驱动、按键驱动开发、串口驱动、触摸屏驱动、网络驱动开发、USB驱动、液晶屏驱动等。
    ARMlinux移植过程。
    引导程序Uboot移植。
    最小系统启动开发过程。
    嵌入式文件系统移植:ramdisk、JFFS2、yaff


    6.综合试验:
    实现网络文件传输服务程序;
    构建嵌入式WEB服务器;
    移植mediaplay播放器
    开发嵌入式视频服务器,基于H.264协议
    **************************************
    另有



    =======第一部分单片机相关============
    1,【单片机多媒体视频教程】(汇编)非常经典
    2,【单片机入门与提高精品视频教程】(汇编),非常适合初学者.
    3,【数电/模电精品视频教程】,非常适合初学者.
    4,【汇编语言精品视频教程】,非常适合初学者.
    5,【protel99se+DXP/2004 视频教程+实例】,非常适合初学者.
    6, 【Protel(Altium Desinger)】电路设计视频教程
    7, 【PowerPCB入门视频教程】
    8,【单片机的C语言编程及电路设计培训视频教程】
    9,【高等数学视频】
    10, 【标准C语言入门与提高视频教程】非常经典
    11,【AVR单片机入门与提高视频】
    12,【MSP430单片机经典视频】
    13,【PIC单片机经典视频】
    14,【电路分析应用技术视频】
    ================第二部分嵌入式硬件部分====================
    1,【ARM linux培训视频】 2.《学ARM和学单片机一样简单》视频教程
    3,【ARM嵌入式LPC2200视频教学视频教程《嵌入式系统与结构》 】
    4,【ARM7嵌入式S3C44B0视频教学《嵌入式微处理器原理及应用》】
    5,【ARM嵌入式视频《嵌入式原理与应用》】
    6,【Altera FPGA 视频教程】
    7,【EDA(CPLD FPGA)入门与提高视频教程】
    8,【dsp入门与提高视频教程】           9,【DSP多媒体教程】
    10,【嵌入式系统开发技术视频】         11,【vhdl应用技术视频】
    12,【PLC精品视频】                   13,【数控应用经典技术视频】
    14,【 嵌入式系统 视频】         15,【 台湾嵌入式培训视频】
    ====================第三部分嵌入式软件部分====================
    1,【Windows CE入门与提高视频教程】       2,【Vxworks应用技术】
    3,【linux编程入门与提高视频教程】 4 【linux工程师软件开发视频】
    5,【eCos、uC/OS-II开发技术】             6,【C++编程入门与提高视频教程】
    7,【嵌入式仿真开发】
    8,【JAVA开发视频】                       9,【.net开发视频】


    ---------------------------------------------------------
    意者请直接QQ联系QQ:759737833
    E-MAIL:759737833@qq.com
    MSN:jxb200200@hotmail.com



    (知心365学习中心-|电子|单片机|嵌入式|linux|通讯|ARM|计算机|编程设计|机械|医学|外语日语英语法语|金融|培训视频资料|职业职称考试|考研|大学教程|升学考试|财务|经营管理|网络|模具设计|成人考试|资格考试|芯片级电脑显示器笔记本数码主板手机硬盘复印机打印机维修|自学考试|研究生入学考试视频教程资料汇总)
     

    4楼 回复本楼

    引用 gis100 2010/5/30 14:04:56 发表于4楼的内容

总共 , 当前 /