logo资料库

腾控科技--STC-103用户手册.pdf

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
STC-103 微型 RTU 用户手册(V1.1) 北京易控微网科技有限公司
STC-103 用户手册 1. 产品介绍 ........................................................................................................................................ 3 1.1. 产品设计说明 ....................................................................................................................... 3 1.2. 功能特点 ............................................................................................................................... 3 1.3. 系统参数 ............................................................................................................................... 3 1.3.1. 直流模拟量输入 .............................................................................................................. 3 1.3.2. 通信接口 .......................................................................................................................... 4 1.4. 安装使用环境 ....................................................................................................................... 4 2. 原理说明 ........................................................................................................................................ 4 2.1. 直流输入 ............................................................................................................................... 4 3. 通信协议说明 ................................................................................................................................ 5 3.1. MODBUS 规约简介 ............................................................................................................. 5 3.1.1. 在Modbus 网络上转输 ................................................................................................... 5 3.1.2. 在其它类型网络上转输 .................................................................................................. 6 3.1.3. 查询—回应周期 .............................................................................................................. 6 3.2. 帧格式说明 ........................................................................................................................... 6 3.2.1. RTU 方式 .......................................................................................................................... 7 3.2.2. ASCII 方式 ....................................................................................................................... 9 3.3. 支持命令 ............................................................................................................................. 10 3.3.1. 读保持寄存器状态 ........................................................................................................ 10 3.3.2. 读输入寄存器状态 ........................................................................................................ 11 3.3.3. 设置单个保持寄存器 .................................................................................................... 13 4. 安装说明 ...................................................................................................................................... 15 5. 典型方案 ...................................................................................................................................... 17 6. 订货须知 ...................................................................................................................................... 19 北京易控微网科技有限公司 第 2 页
STC-103 用户手册 1. 产品介绍 1.1. 产品设计说明 STC-103 数据采集模块(以下简称 STC-103 模块)是我公司针对各种应 用场合,研发的通用数据采集模块,广泛应用于楼宇、暖通、消防、供水、 石化、环保等各个行业,为大多数系统集成商和自动化公司、研究所采用, 是一种具有极高性格比、稳定可靠的数采模块。 STC-103 模块可以单独使用,也可以进行扩展,当模块数量超过 16 时, 需加一个 SCM 通信管理模块,将数据进行集中送至上位机。SCM 通信管理模 块支持 MODBUS 等各种标准规约,也可以根据用户需要订做规约。 作为系统的另外一个可选部分是 SCM 通信管理单元,可以用来在本地管 理各个单元模块,也可以支持更多的规约协议。每个通信管理单元最多可以 管理 32 个 MDS-1 单元或者 STC-1 单元或者 STC-2 单元或者 16 个 STC-103。 1.2. 功能特点  16 路直流采样,可以接各种变送器。  1 个隔离 485 通信口,1 个 RS232 接口,支持 MODBUS RTU 或其它规 约,扩展更加容易。  贴片安装,无外部总线,可靠性高,抗干扰能力强。  卡式导轨或螺丝固定,现场安装更加便 1.3. 系统参数 1.3.1. 直流模拟量输入 容量: 16 路/模块 输入信号: 0-5V 或 4-20mA 转换速度: 5 uS 分辨率: 12 位 A/D 计算方法: 以电网频率为参考,每周波采 32 点,计算平均值作为测量 值 精度: 0.2% FS ± 1 字 北京易控微网科技有限公司 第 3 页
STC-103 用户手册 1.3.2. 通信接口 容量: 2 路 接口方式: 1 个隔离 RS485 接口,一个 RS232 接口,可选。 规约: MODBUS 规约或者其他规约 1.4. 安装使用环境 安装方式: 卡式导轨安装或者底部螺丝固定 温度范围: -10℃~ 55℃ 存贮温度: -20℃~70℃ 相对湿度: <85%(20±5℃条件) 大气压力: 86~108Kpa 安装尺寸: 145×90×40mm 电 源: 交流 220 或直流 24V ± 10 % 功 耗: 小于 1W 工 作 环 境 : 无 爆 炸 , 无 腐 蚀 性 气 体 及 导 电 尘 埃 , 无 严 重 霉 菌 存 在,无剧烈振动,无冲击源;如果需要在此类环境下工作,请 采取相应的防护措施。 2. 原理说明 STC-103 单元采用 16 位超低功耗单片机,单片机内部集成了几乎计算机 所能外围电路,设计该产品时没有进行任何的扩展。提高了系统的可靠性和 抗干扰能力,缩小了产品的体积。 2.1. 直流输入 直流输入一共是 16 路,可以作为电压或者电流输入。作为电压输入时, 其输入阻抗为 170K;作为电流输入时,其输入阻抗为 250 欧姆。但是需要在订 货是说明。 输入的直流信号为了避免电网的干扰,在软件设计时,系统跟踪电网的频率。 每个电网周波也作 32 点采样,对采样值进行平均运算,运算结果作为输入值。 这样大大提高了系统对电网干扰的抑制能力。 北京易控微网科技有限公司 第 4 页
STC-103 用户手册 3. 通信协议说明 我们的 STC-103 采用 MODBUS 规约,原因是该规约是开放的,文本容易 得到,有着众多厂商的支持,协议本身也非常的简单。而且根据协议文本就可以 用软件实现,不需要专门的芯片和协议栈。 详细的规约文本请参考 www.modbus.org MODBUS 规约是 MODICOM 公司开发的,版权归其所有。 我们的接口采用 RS485 接口,比 RS232 具有更高的通信速率和更远的通信 距离。 根据我们设备的情况,我们仅仅实现了 MODBUS 的一个小型子集,没有 完全实现其所有内容,已经能够满足我们所有的需要。 STC-103 出厂默认通信定义: 我们采用的 MODICOM 公司的 MODBUS 规约的 RTU 方式,波特率 9600BPS,1 位起始位,8 位数据位,1 位停止位,无校验。 3.1. MODBUS 规约简介 MODBUS 规约是 MODICOM 公司开发的一个为很多厂商支持的开放规约 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互 之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一 通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中 监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种 网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它 设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在 Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设 备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器 将生成反馈信息并用 Modbus 协议发出。在其它网络上,包含了 Modbus 协议的 消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解 决节地址、路由路径及错误检测的方法。 3.1.1. 在 Modbus 网络上转输 标准的 Modbus 口是使用 RS-232C 兼容串行接口,它定义了连接口的针脚、 电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由 Modem 组网。 控制器通信使用主—从技术,即仅设备(主设备)能初始化传输(查询)。其它 北京易控微网科技有限公司 第 5 页
STC-103 用户手册 设备(从设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机 和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独 通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。 Modbus 协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有 要发送的数据、错误检测域。 从设备回应消息也由 Modbus 协议构成,包括确认要行动的域、任何要返回 的数据、和错误检测域。如果在消息接收过程中发生错误,或从设备不能执行其 命令,从设备将建立错误消息并把它作为回应发送出去。 3.1.2. 在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制 器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。 提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus 协议仍提供了主—从原则,尽管网络通信方法是“对等”。 如果控制器发送消息,它只是作为主设备,并期望从从设备得到回应。同样,当 控制器接收到消息,它将建立一从设备回应格式并返回给发送的控制器。 3.1.3. 查询—回应周期 .查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含 了从设备要执行功能的任何附加信息。例如功能代码 03 是要求从设备读保持寄 存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始 读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确 的方法。 .回应 如果从设备产生正常的回应,在回应消息中的功能代码是在查询消息中的 功能代码的回应。数据段包括了从设备收集的数据:像寄存器值或状态。如果有 错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了 描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 3.2. 帧格式说明 每个 MODBUS 帧都包括地址域 功能域 数据域 错误检测域 北京易控微网科技有限公司 第 6 页
STC-103 用户手册 3.2.1. RTU 方式 地址 功能 代 数 据 数据 1 ... 数 据 CRC 高字 CRC 低 字 码 数量 n 节 节 地址域 功能域 数据域 错误检测域 |---------MODBUS PDU--------| 帧定界 :MODBUS RTU 方式下,每两个字符之间发送或者接收的时间间隔不能超 过 1.5 倍 字符传输时间。如果两个字符时间间隔超过了 3.5 倍的字符传输时间, 规约就认为一帧数据已经接收,新的一帧数据传输开始。 RTU CRC 校验的计算 const unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40 } ; 北京易控微网科技有限公司 第 7 页
STC-103 用户手册 const unsigned char auchCRCLo[] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 } ; unsigned short crc(unsigned char *puchMsg , unsigned short usDataLen) { unsigned char uchCRCHi = 0xFF ; /* high byte of CRC initialized */ unsigned char uchCRCLo = 0xFF ; /* low byte of CRC initialized */ unsigned uIndex ; /* will index into CRC lookup table */ while (usDataLen--)/* pass through message buffer */ { uIndex = uchCRCHi ^ *puchMsg++ ; /* calculate the CRC */ uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex]; uchCRCLo = auchCRCLo[uIndex] ; } 北京易控微网科技有限公司 第 8 页
分享到:
收藏