
版本:V1.1
一、产品简介
W816是一款超小型智能プログラマブル·コントローラ,専用にスマートホームSmart Modbus中国語ネットワーク、商业照明、农业自動化设计。无需ゲートウェイ,サポート8路大功率继电器(每路16A),兼容手机APP、ボイスコントロール。、定时任务,是家庭和商业场景的“全能管家”。
购买产品:https://www.modbus.cn/product/30890.html
二、核心功能与特点
1. 硬件优势
- 超小体积:仅占4个空开位,轻松装入家庭电箱。
- 大功率負荷:每路サポート16A阻性負荷(如灯具、插座),8A感性負荷(如电机)。
- インダストリアルグレードのデザイン:-20℃~80℃宽温工作,适应复杂环境。
2. 灵活扩展
- 免线拼接:同层导轨インストール,多个モジュール直接拼接扩展。
- 全协议兼容:サポートModbus、TCP/IP、MQTT等协议,对接スマートホームSmart Modbus中国語ネットワークプラットフォーム无压力。
- 无线转有线:サポートWiFi/433M/315M转485バス,老旧デバイス秒变智能。
3. 小白友好
- 拨码设アドレス:无需软件,拨动开关即可設定デバイスID(1~32)。
- 一键恢复:误操作可恢复出厂設定,操作零门槛。
本モジュール上有4位侧拨开关,出厂アドレスデフォルト为0,可設定アドレス为0-15,設定如下图

三、技術パラメータ
| 项目 | 规格 |
|---|---|
| 工作电压 | DC 12V(可定制12-24V) |
| 負荷能力 | 阻性負荷≤16A,感性負荷≤8A |
| 通讯方式 | 485バス(标配)、RJ45网口、WiFi、433M、GPRS |
| 入力路数 | 8路フォトアイソレーション入力(兼容干接点) |
| 环境温度 | -20℃~80℃ |
| 尺寸 | 92.5mm × 76.2mm × 60.5mm |
四、快速上手ガイド
1. インストール与配線
- 固定モジュール:卡入標準DN35导轨,确保电源关闭。
- 连接負荷:将灯具、窗帘电机等接入继电器出力端子(OUT1~OUT8)。
- 接入电源:使用12V适配器供电(正负极勿接反)。
- 联网設定:
- 有线:
Run指示灯ステータス:上电绿灯闪烁后常亮,与サーバー·サーバー接続成功です。后冰蓝色。
Rj45指示灯ステータス:与网络接続成功です。后绿灯常亮,橙色灯闪烁。

配線トポロジ图

接口説明:
1、V=12V正极入力
2、G=12V负极入力
3、A B=485接口
4、① ② ③ ④ ⑤ ⑥ ⑦ ⑧=8组继电器出力
5、RJ45/SMA=网络通讯
6、G 1 2 3 4 5 6 7 8=干接点入力(例如G与1连接触发第一路继电器)
7、RUN=运行指示灯(Not connectedtcp为绿色 connecttcp为冰蓝色)
五、协议指令详解
私合意がある。
通信プロトコル説明
协议基本信息
- Baud rate:9600
- デフォルトアドレス:
1A CA 27 87 00(出厂测试デフォルトアドレス) - 通用アドレス:
AA AA AA AA AA(用于特殊操作)
协议格式
协议データフレーム由以下部分组成:
- address:5 バイト単位。,标识モジュールアドレス。
- 指令区:根据操作不同,長さ和内容各异。
- checksum:固定为
0F
功能操作説明
1. 查询モジュールアドレス
- 指令格式:
5バイト単位。アドレス + 56 56 56 0F - Function:查询モジュール的当前アドレス。
- example:
1A CA 27 87 00 56 56 56 0F
2. 修改アドレス
- 説明:前 4 バイト単位。固定,No. 5 バイト単位。経由拨码开关更改。
- example:
1A CA 27 87 XX (XX 为拨码設定的新アドレス)
3. 查询モジュールステータス
- 指令格式:
5バイト単位。アドレス + 86 86 86 0F - 戻る格式:
5バイト単位。アドレス + 00 00 00 00 00 00 00 00 0F(8 个开关ステータス,00 表示关闭,01 表示打开) - example:
查询指令:1A CA 27 87 00 86 86 86 0F
戻るサンプル:1A CA 27 87 00 00 01 00 01 00 01 00 0F (假设开关ステータス为:关-开-关-开-关-开-关-开)
4. 恢复出厂設定
- 指令格式:
5バイト単位。アドレス + 96 96 96 0F - Function:擦除 K1-K8 存储区,恢复デフォルト設定。
- example:
1A CA 27 87 00 96 96 96 0F
5. 强制設定 K1-K8 为点动モード
- 指令格式:
5バイト単位。アドレス + A6 A6 A6 0F - 説明:
- デフォルト为长按 5 秒自动切换为翻转モード。
- 設定前需先恢复出厂設定。
- example:
1A CA 27 87 00 A6 A6 A6 0F
6. Open/Close K1-K8 データ入力存储功能
- Open:
- 指令格式:
5バイト単位。アドレス + 56 56 56 0F - LED 表示:闪烁 1 次后保持常亮。
- Close:
- 指令格式:
5バイト単位。アドレス + 46 46 46 0F - LED 表示:闪烁 2 次后保持熄灭。
- example:
Open:1A CA 27 87 00 56 56 56 0F
Close:1A CA 27 87 00 46 46 46 0F
7. K1-K8 开/关存储指令
- 指令格式:
- 开启某路:
address + XX XX XX XX XX ... XX(XX 为特定值) - 关闭某路:
address + XX XX XX XX XX ... XX(XX 为特定值) - 具体指令: Operation 开启指令值 关闭指令值 K1 开/关
0010K2 开/关2030K3 开/关4050K4 开/关6070K5 开/关8090K6 开/关A0B0K7 开/关C0D0K8 开/关E0F0 - example:
K1 Open:1A CA 27 87 00 00 XX XX XX XX XX 0F
K1 Close:1A CA 27 87 00 10 XX XX XX XX XX 0F
8. 单路控制
- 指令格式:
- 翻转:
address + 00 00 XX 02 0F(XX 为路数 - 1) - 只开:
address + 00 00 XX 01 0F(XX 为路数 - 1) - 只关:
address + 00 00 XX 00 0F(XX 为路数 - 1) - example:
第一路翻转:1A CA 27 87 00 00 00 02 0F
第一路只开:1A CA 27 87 00 00 00 01 0F
第一路只关:1A CA 27 87 00 00 00 00 0F
第二路翻转:1A CA 27 87 00 00 01 02 0F
第二路只开:1A CA 27 87 00 00 01 01 0F
第二路只关:1A CA 27 87 00 00 01 00 0F
第三路翻转:1A CA 27 87 00 00 02 02 0F
第三路只开:1A CA 27 87 00 00 02 01 0F
第三路只关:1A CA 27 87 00 00 02 00 0F
第四路翻转:1A CA 27 87 00 00 03 02 0F
第四路只开:1A CA 27 87 00 00 03 01 0F
第四路只关:1A CA 27 87 00 00 03 00 0F
第五路翻转:1A CA 27 87 00 00 04 02 0F
第五路只开:1A CA 27 87 00 00 04 01 0F
第五路只关:1A CA 27 87 00 00 04 00 0F
第六路翻转:1A CA 27 87 00 00 05 02 0F
第六路只开:1A CA 27 87 00 00 05 01 0F
第六路只关:1A CA 27 87 00 00 05 00 0F
第七路翻转:1A CA 27 87 00 00 06 02 0F
第七路只开:1A CA 27 87 00 00 06 01 0F
第七路只关:1A CA 27 87 00 00 06 00 0F
第八路翻转:1A CA 27 87 00 00 07 02 0F
第八路只开:1A CA 27 87 00 00 07 01 0F
第八路只关:1A CA 27 87 00 00 07 00 0F
9. 全路控制
- 指令格式:
- 1-8 路全开:
address + 01 01 77 88 0F - 1-8 路全关:
address + 01 02 77 88 0F - example:
1-8 路全开:1A CA 27 87 00 01 01 77 88 0F
1-8 路全关:1A CA 27 87 00 01 02 77 88 0F
10. 通用全开/Close all
- 指令格式:
- 通用全开:
通用アドレス + 30 77 88 0F - 通用全关:
通用アドレス + 30 77 88 0F - example:
通用全开:AA AA AA AA AA 30 77 88 0F
通用全关:AA AA AA AA AA 30 77 88 0F
内部协议
1. 指令格式
すべての指令均为8バイト,格式如下:
[0x55][address][function code][data1][data2][data3][data4][checksum]
- checksum = 前7バイト相加,取最后两位(如
55+01+32+00+00+00+01=89)。
Baud rate 9600,8 个データ·ビット,1 个ストップ·ビット,无チェックビット。
トップマシン送信データフレーム形式:
| データ头 | address | function code | data area | checksum | |||
| 1 byte0x55 | 1 byte | 1 byte | No. 1 byte | No. 2 byte | No. 3 byte | No. 4 byte | 1 byte,将前面的 7 バイト単位。相加,取后 8 位得到 |
トップマシン送信データフレーム説明:
| function code | 説明 | データ区内容(4 バイト単位。) |
| 0x10 | 読み取りステータス | 0x00,0x00,0x00,0x00 |
| 0x11 | 断开某路 | No. 4 バイト単位。代表断开第几路继电器,前 3 バイト単位。为 0。 |
| 0x12 | 吸合某路 | No. 4 バイト単位。代表吸合第几路继电器,其他为 0。 |
| 0x13 | 命令执行 | データエリア共 4 バイト単位。,每バイト単位。 8 位,共 32 位。最多可代表 32 路开关量的ステータス。最后一バイト単位。的第 0 位代表第 1 路,No. 1 バイト単位。的最高位代表最后一路。 |
| 0x14 | 组断开 | データエリア共 4 バイト単位。,每バイト単位。 8 位,共 32 位。最多代表对 32路的操作,1 代表断开 0 代表保持原来ステータス。最后 1 バイト単位。的第0 位(BIT0)代表第 1 路,依次类推。 |
| 0x15 | 组吸合 | データエリア共 4 バイト単位。,每バイト単位。 8 位,共 32 位。最多代表对 32路的操作,1 代表吸合 0 代表保持原来ステータス。最后 1 バイト単位。的第0 位(BIT0)代表第 1 路,依次类推。 |
| 0x16 | 组翻转 | データエリア共 4 バイト単位。,每バイト単位。 8 位,共 32 位。最多代表对 32路的操作,1 代表翻转 0 代表保持原来ステータス。最后 1 バイト単位。的第0 位(BIT0)代表第 1 路,依次类推。 |
| 0x20 | 翻转某路 | データ中的第 4 バイト単位。代表翻转第几路继电器,其他为 0。 |
| 0x21 | 点动闭合 | データ的第 1、2、3 バイト代表时间(高位バイト前に,単位 ms), No. 4 bytes代表第几路 |
| 0x22 | 点动断开 | データ的第 1、2、3 バイト代表时间(高位バイト前に,単位 ms),No. 4 bytes代表第几路 |
| 0x30 | 翻转某路 | 参照機能コード 0x20,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x31 | 断开某路 | 参照機能コード 0x11,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x32 | 吸合某路 | 参照機能コード 0x12,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x33 | 命令执行 | 参照機能コード 0x13,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x34 | 组断开 | 参照機能コード 0x14,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x35 | 组吸合 | 参照機能コード 0x15,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x36 | 组翻转 | 参照機能コード 0x16,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x37 | 点动闭合 | 参照機能コード 0x21,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x38 | 点动断开 | 参照機能コード 0x22,但是下位机不戻るデータ,指令可以连续送信。 |
| 0x40 | アドレスを読む。 | 0x00,0x00,0x00,0x00Precautions,使用放送アドレス 245 来読み取りモジュールアドレス。 |
| 0x41 | アドレスを書く。 | データ中的第 4 バイト単位。代表モジュール的新アドレス。Precautions:上电 10 秒钟之内允许アドレスを書く。,もし有拨码开关,需要将拨码开关拨到 0 的位置。 |
| 0x70 | 读变量 | 前 3 バイト単位。为 0x00 0x00 0x00。No. 4 バイト単位。代表变量的番号 |
| 0x71 | 写变量 | 前 3 バイト単位。代表变量的值,高位バイト前に。No. 4 バイト単位。代表变量的Serial number |
下位机戻るデータフレーム形式:
| データ头 | address | function code | data area | checksum | |||
| 1 byte0x22 | 1 byte | 1 byte | No. 1 byte | No. 2 byte | No. 3 byte | No. 4 byte | 1 byte,将前面的7 バイト単位。相加 |
下位机戻るデータフレーム説明:
| function code | 機能コード説明 | データ区内容(4 バイト単位。) |
| 0x10 | 読み取りステータス | 继电器出力板或者入力检测板:データエリア 4 バイト単位。,每バイト単位。 8 位,共 32 位。代表 32 路的ステータス。最后 1 个バイト的第 0 位代表第 1 路,依次类推。 入力出力板:No. 1、2 バイト単位。代表入力的ステータス,No. 3、4バイト単位。代表輸出した。ステータス。 |
| 0x11 | 断开某一路 | |
| 0x12 | 吸合某一路 | |
| 0x13 | 命令执行 | |
| 0x14 | 组断开 | |
| 0x15 | 组吸合 | |
| 0x16 | 组翻转 | |
| 0x40 | 戻るモジュールアドレス | |
| 0x70 | 读内部变量 | 前 3 バイト単位。代表内部变量的值,高位バイト前に。No. 4 バイト単位。代表内部变量是番号Precautions:此機能コード只適用されるサポート内核可プログラミング的モジュール |
| 0x71 | 写内部变量 |
放送アドレス説明:
个别情况下,需要快速的打开或者关闭バス上すべての继电器,这个时候使用放送アドレス, 放送アドレス的值为 245,也就是说,向アドレス 245 送信的指令,バス上的每一アドレスはこちら。都会执行,关闭放送アドレス 245 的继电器,也就是关闭バス上的すべての继电器,同样的道
理,打开放送アドレス 245 的继电器,也就是打开バス上すべての的继电器。
0x30-0x38 機能コード为指令连发機能コード,因为这些機能コードない回码,所以可以连续送信,因此可以更快速的送信指令。为了让指令更快速的送信,引入了データ连发指令。
很多情况下,用户必要なし。查询或知道继电器板的当前ステータス,只需要按照自己的要求来打开或者关闭某几路,这个时候使用无回码指令就会很方便。
无回码指令表(以アドレス 1 为例,指令可连续送信):
| 吸合第 1 路 55 01 32 00 00 00 01 89 | 断开第 1 路 55 01 31 00 00 00 01 88 |
| 吸合第 2 路 55 01 32 00 00 00 02 8A | 断开第 2 路 55 01 31 00 00 00 02 89 |
| 吸合第 3 路 55 01 32 00 00 00 03 8B | 断开第 3 路 55 01 31 00 00 00 03 8A |
| 吸合第 4 路 55 01 32 00 00 00 04 8C | 断开第 4 路 55 01 31 00 00 00 04 8B |
| 吸合第 5 路 55 01 32 00 00 00 05 8D | 断开第 5 路 55 01 31 00 00 00 05 8C |
| 吸合第 6 路 55 01 32 00 00 00 06 8E | 断开第 6 路 55 01 31 00 00 00 06 8D |
| 吸合第 7 路 55 01 32 00 00 00 07 8F | 断开第 7 路 55 01 31 00 00 00 07 8E |
| 吸合第 8 路 55 01 32 00 00 00 08 90 | 断开第 8 路 55 01 31 00 00 00 08 8F |
| 吸合第 9 路 55 01 32 00 00 00 09 91 | 断开第 9 路 55 01 31 00 00 00 09 90 |
| 吸合第 10 路 55 01 32 00 00 00 0A 92 | 断开第 10 路 55 01 31 00 00 00 0A 91 |
| 吸合第 11 路 55 01 32 00 00 00 0B 93 | 断开第 11 路 55 01 31 00 00 00 0B 92 |
| 吸合第 12 路 55 01 32 00 00 00 0C 94 | 断开第 12 路 55 01 31 00 00 00 0C 93 |
| 吸合第 13 路 55 01 32 00 00 00 0D 95 | 断开第 13 路 55 01 31 00 00 00 0D 94 |
| 吸合第 14 路 55 01 32 00 00 00 0E 96 | 断开第 14 路 55 01 31 00 00 00 0E 95 |
| 吸合第 15 路 55 01 32 00 00 00 0F 97 | 断开第 15 路 55 01 31 00 00 00 0F 96 |
| 吸合第 16 路 55 01 32 00 00 00 10 98 | 断开第 16 路 55 01 31 00 00 00 10 97 |
| 吸合第 17 路 55 01 32 00 00 00 11 99 | 断开第 17 路 55 01 31 00 00 00 11 98 |
| 吸合第 18 路 55 01 32 00 00 00 12 9A | 断开第 18 路 55 01 31 00 00 00 12 99 |
| 吸合第 19 路 55 01 32 00 00 00 13 9B | 断开第 19 路 55 01 31 00 00 00 13 9A |
| 吸合第 20 路 55 01 32 00 00 00 14 9C | 断开第 20 路 55 01 31 00 00 00 14 9B |
| 吸合第 21 路 55 01 32 00 00 00 15 9D | 断开第 21 路 55 01 31 00 00 00 15 9C |
| 吸合第 22 路 55 01 32 00 00 00 16 9E | 断开第 22 路 55 01 31 00 00 00 16 9D |
| 吸合第 23 路 55 01 32 00 00 00 17 9F | 断开第 23 路 55 01 31 00 00 00 17 9E |
| 吸合第 24 路 55 01 32 00 00 00 18 A0 | 断开第 24 路 55 01 31 00 00 00 18 9F |
| 吸合第 25 路 55 01 32 00 00 00 19 A1 | 断开第 25 路 55 01 31 00 00 00 19 A0 |
| 吸合第 26 路 55 01 32 00 00 00 1A A2 | 断开第 26 路 55 01 31 00 00 00 1A A1 |
| 吸合第 27 路 55 01 32 00 00 00 1B A3 | 断开第 27 路 55 01 31 00 00 00 1B A2 |
| 吸合第 28 路 55 01 32 00 00 00 1C A4 | 断开第 28 路 55 01 31 00 00 00 1C A3 |
| 吸合第 29 路 55 01 32 00 00 00 1D A5 | 断开第 29 路 55 01 31 00 00 00 1D A4 |
| 吸合第 30 路 55 01 32 00 00 00 1E A6 | 断开第 30 路 55 01 31 00 00 00 1E A5 |
| 吸合第 31 路 55 01 32 00 00 00 1F A7 | 断开第 31 路 55 01 31 00 00 00 1F A6 |
| 吸合第 32 路 55 01 32 00 00 00 20 A8 | 断开第 32 路 55 01 31 00 00 00 20 A7 |
| 吸合すべて 55 01 33 FF FF FF FF 85 | 断开すべて 55 01 33 00 00 00 00 89 |
好的,我将为每个機能コード提供一个具体的サンプルデータフレーム,以帮助更好地理解协议的使用。以下是详细的機能コードサンプル:
トップマシン機能コードサンプル
0x10 - 読み取りステータス
- 功能説明:読み取り继电器的ステータス。
- data area:
0x00, 0x00, 0x00, 0x00 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x10
data area:0x00, 0x00, 0x00, 0x00
checksum:0x55 + 0x01 + 0x10 + 0x00 + 0x00 + 0x00 + 0x00 = 0x66
完全データフレーム:55 01 10 00 00 00 00 66
0x11 - 断开某路
- 功能説明:断开指定的继电器路。
- data area:前 3 バイト为
0x00,No. 4 bytes为断开的继电器路数(例如,断开第 3 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x11
data area:0x00, 0x00, 0x00, 0x03
checksum:0x55 + 0x01 + 0x11 + 0x00 + 0x00 + 0x00 + 0x03 = 0x6A
完全データフレーム:55 01 11 00 00 00 03 6A
0x12 - 吸合某路
- 功能説明:吸合指定的继电器路。
- data area:前 3 バイト为
0x00,No. 4 bytes为吸合的继电器路数(例如,吸合第 5 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x12
data area:0x00, 0x00, 0x00, 0x05
checksum:0x55 + 0x01 + 0x12 + 0x00 + 0x00 + 0x00 + 0x05 = 0x6D
完全データフレーム:55 01 12 00 00 00 05 6D
0x13 - 命令执行
- 功能説明:控制多路继电器的ステータス。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,代表 32 路继电器的ステータス(1 表示吸合,0 表示断开)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x13
data area:0x00, 0x00, 0x00, 0x0F (吸合第 1-4 路)
checksum:0x55 + 0x01 + 0x13 + 0x00 + 0x00 + 0x00 + 0x0F = 0x73
完全データフレーム:55 01 13 00 00 00 0F 73
0x14 - 组断开
- 功能説明:断开指定的多路继电器。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示断开,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x14
data area:0x00, 0x00, 0x00, 0x01 (断开第 1 路)
checksum:0x55 + 0x01 + 0x14 + 0x00 + 0x00 + 0x00 + 0x01 = 0x6B
完全データフレーム:55 01 14 00 00 00 01 6B
0x15 - 组吸合
- 功能説明:吸合指定的多路继电器。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示吸合,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x15
data area:0x00, 0x00, 0x00, 0x02 (吸合第 2 路)
checksum:0x55 + 0x01 + 0x15 + 0x00 + 0x00 + 0x00 + 0x02 = 0x6C
完全データフレーム:55 01 15 00 00 00 02 6C
0x16 - 组翻转
- 功能説明:翻转指定的多路继电器。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示翻转,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x16
data area:0x00, 0x00, 0x00, 0x04 (翻转第 3 路)
checksum:0x55 + 0x01 + 0x16 + 0x00 + 0x00 + 0x00 + 0x04 = 0x6E
完全データフレーム:55 01 16 00 00 00 04 6E
0x20 - 翻转某路
- 功能説明:翻转指定的继电器路。
- data area:前 3 バイト为
0x00,No. 4 bytes为翻转的继电器路数(例如,翻转第 7 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x20
data area:0x00, 0x00, 0x00, 0x07
checksum:0x55 + 0x01 + 0x20 + 0x00 + 0x00 + 0x00 + 0x07 = 0x7D
完全データフレーム:55 01 20 00 00 00 07 7D
0x21 - 点动闭合
- 功能説明:点动闭合指定的继电器路。
- data area:前 3 バイト为时间(単位 ms,高位前に),No. 4 bytes为继电器路数(例如,闭合第 6 路,time 1000ms)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x21
data area:0x00, 0x03, 0xE8, 0x06 (1000ms,No. 6 路)
checksum:0x55 + 0x01 + 0x21 + 0x00 + 0x03 + 0xE8 + 0x06 = 0x88
完全データフレーム:55 01 21 00 03 E8 06 88
0x22 - 点动断开
- 功能説明:点动断开指定的继电器路。
- data area:前 3 バイト为时间(単位 ms,高位前に),No. 4 bytes为继电器路数(例如,断开第 9 路,time 500ms)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x22
data area:0x00, 0x01, 0xF4, 0x09 (500ms,No. 9 路)
checksum:0x55 + 0x01 + 0x22 + 0x00 + 0x01 + 0xF4 + 0x09 = 0x7B
完全データフレーム:55 01 22 00 01 F4 09 7B
0x30 - 翻转某路(连发)
- 功能説明:翻转指定的继电器路,无戻るデータ。
- data area:前 3 バイト为
0x00,No. 4 bytes为翻转的继电器路数(例如,翻转第 12 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x30
data area:0x00, 0x00, 0x00, 0x0C
checksum:0x55 + 0x01 + 0x30 + 0x00 + 0x00 + 0x00 + 0x0C = 0x8E
完全データフレーム:55 01 30 00 00 00 0C 8E
0x31 - 断开某路(连发)
- 功能説明:断开指定的继电器路,无戻るデータ。
- data area:前 3 バイト为
0x00,No. 4 bytes为断开的继电器路数(例如,断开第 15 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x31
data area:0x00, 0x00, 0x00, 0x0F
checksum:0x55 + 0x01 + 0x31 + 0x00 + 0x00 + 0x00 + 0x0F = 0x91
完全データフレーム:55 01 31 00 00 00 0F 91
0x32 - 吸合某路(连发)
- 功能説明:吸合指定的继电器路,无戻るデータ。
- data area:前 3 バイト为
0x00,No. 4 bytes为吸合的继电器路数(例如,吸合第 20 路)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x32
data area:0x00, 0x00, 0x00, 0x14
checksum:0x55 + 0x01 + 0x32 + 0x00 + 0x00 + 0x00 + 0x14 = 0x9C
完全データフレーム:55 01 32 00 00 00 14 9C
0x33 - 命令执行(连发)
- 功能説明:控制多路继电器的ステータス,无戻るデータ。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,代表 32 路继电器的ステータス(1 表示吸合,0 表示断开)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x33
data area:0x00, 0x00, 0x00, 0x1F (吸合第 1-5 路)
checksum:0x55 + 0x01 + 0x33 + 0x00 + 0x00 + 0x00 + 0x1F = 0xA3
完全データフレーム:55 01 33 00 00 00 1F A3
0x34 - 组断开(连发)
- 功能説明:断开指定的多路继电器,无戻るデータ。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示断开,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x34
data area:0x00, 0x00, 0x00, 0x08 (断开第 4 路)
checksum:0x55 + 0x01 + 0x34 + 0x00 + 0x00 + 0x00 + 0x08 = 0x98
完全データフレーム:55 01 34 00 00 00 08 98
0x35 - 组吸合(连发)
- 功能説明:吸合指定的多路继电器,无戻るデータ。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示吸合,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x35
data area:0x00, 0x00, 0x00, 0x10 (吸合第 5 路)
checksum:0x55 + 0x01 + 0x35 + 0x00 + 0x00 + 0x00 + 0x10 = 0x9B
完全データフレーム:55 01 35 00 00 00 10 9B
0x36 - 组翻转(连发)
- 功能説明:翻转指定的多路继电器,无戻るデータ。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,1 表示翻转,0 表示保持原ステータス。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x36
data area:0x00, 0x00, 0x00, 0x20 (翻转第 6 路)
checksum:0x55 + 0x01 + 0x36 + 0x00 + 0x0 +0 0x00 + 0x20 = 0xA2
完全データフレーム:55 01 36 00 00 00 20 A2
0x37 - 点动闭合(连发)
- 功能説明:点动闭合指定的继电器路,无戻るデータ。
- data area:前 3 バイト为时间(単位 ms,高位前に),No. 4 bytes为继电器路数(例如,闭合第 8 路,time 2000ms)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x37
data area:0x00, 0x07, 0xD0, 0x08 (2000ms,No. 8 路)
checksum:0x55 + 0x01 + 0x37 + 0x00 + 0x07 + 0xD0 + 0x08 = 0xA8
完全データフレーム:55 01 37 00 07 D0 08 A8
0x38 - 点动断开(连发)
- 功能説明:点动断开指定的继电器路,无戻るデータ。
- data area:前 3 バイト为时间(単位 ms,高位前に),No. 4 bytes为继电器路数(例如,断开第 16 路,time 1500ms)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x38
data area:0x00, 0x05, 0xDC, 0x10 (1500ms,No. 16 路)
checksum:0x55 + 0x01 + 0x38 + 0x00 + 0x05 + 0xDC + 0x10 = 0xB5
完全データフレーム:55 01 38 00 05 DC 10 B5
0x40 - アドレスを読む。
- 功能説明:読み取りモジュールアドレス。
- data area:
0x00, 0x00, 0x00, 0x00 - サンプルデータフレーム:
データ头:0x55
address:0xF5 (放送アドレス 245)
function code:0x40
data area:0x00, 0x00, 0x00, 0x00
checksum:0x55 + 0xF5 + 0x40 + 0x00 + 0x00 + 0x00 + 0x00 = 0x8F
完全データフレーム:55 F5 40 00 00 00 00 8F
0x41 - アドレスを書く。
- 功能説明:写入モジュール的新アドレス。
- data area:前 3 バイト为
0x00,No. 4 bytes为新アドレス(例如,新アドレス为 0x02)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x41
data area:0x00, 0x00, 0x00, 0x02
checksum:0x55 + 0x01 + 0x41 + 0x00 + 0x00 + 0x00 + 0x02 = 0x9A
完全データフレーム:55 01 41 00 00 00 02 9A
0x70 - 读变量
- 功能説明:読み取り内部变量。
- data area:前 3 バイト为
0x00,No. 4 bytes为变量番号(例如,読み取り番号为 1 的变量)。 - サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x70
data area:0x00, 0x00, 0x00, 0x01
checksum:0x55 + 0x01 + 0x70 + 0x00 + 0x00 + 0x00 + 0x01 = 0xC7
完全データフレーム:55 01 70 00 00 00 01 C7
0x71 - 写变量
- 功能説明:写入内部变量。
- data area:前 3 バイト为变量值(高位前に),No. 4 bytes为变量番号(例如,写入番号为 2 的变量,值为 0x123456)。
- サンプルデータフレーム:
データ头:0x55
address:0x01
function code:0x71
data area:0x12, 0x34, 0x56, 0x02
checksum:0x55 + 0x01 + 0x71 + 0x12 + 0x34 + 0x56 + 0x02 = 0xA1
完全データフレーム:55 01 71 12 34 56 02 A1
下位机戻る機能コードサンプル
0x10 - 読み取りステータス
- 功能説明:戻る继电器的ステータス。
- data area:4 bytes,バイトあたりのバイト 8 位,共 32 位,代表 32 路继电器的ステータス(1 表示吸合,0 表示断开)。
- サンプルデータフレーム:
データ头:0x22
address:0x01
function code:0x10
data area:0x00, 0x00, 0x00, 0x0F (No. 1-4 路吸合,其余断开)
checksum:0x22 + 0x01 + 0x10 + 0x00 + 0x00 + 0x00 + 0x0F = 0x42
完全データフレーム:22 01 10 00 00 00 0F 42
0x40 - 戻るモジュールアドレス
- 功能説明:戻るモジュール的当前アドレス。
- data area:4 bytes,戻るモジュールアドレス(例如,アドレス为 0x03)。
- サンプルデータフレーム:
データ头:0x22
address:0x03
function code:0x40
data area:0x00, 0x00, 0x00, 0x03
checksum:0x22 + 0x03 + 0x40 + 0x00 + 0x00 + 0x00 + 0x03 = 0x68
完全データフレーム:22 03 40 00 00 00 03 68
0x70 - 读内部变量
- 功能説明:戻る内部变量的值。
- data area:前 3 バイト为变量值(高位前に),No. 4 bytes为变量番号(例如,番号为 1 的变量值为 0x123456)。
- サンプルデータフレーム:
データ头:0x22
address:0x01
function code:0x70
data area:0x12, 0x34, 0x56, 0x01
checksum:0x22 + 0x01 + 0x70 + 0x12 + 0x34 + 0x56 + 0x01 = 0x8C
完全データフレーム:22 01 70 12 34 56 01 8C
总结
以上是每个機能コード的サンプルデータフレーム,カバー了トップマシン送信和下位机戻る的すべての场景。每个サンプル都包含了完全的データフレーム構造和チェック和計算,确保协议的正确性和完全性。もし需要进一步的解释或修改,请随时告诉我!
上級玩法
内核与功能モジュール取扱説明書
一、内核简介
内核是用户操作モジュール的核心工具,用于実装以下功能:
- 入力与輸出した。マッピング关系。
- 收发ストリング·ストリングまたは他のデータ。
- 使用タイマータイマー。进行延迟または他の定时処理。
- 内部变量的格式转换。
- 其他エキスパート功能。
二、外部入力
外部入力功能允许モジュール检测外部事件,サポート以下触发方式:
- 上昇エッジトリガー(断开到闭合)。
- ダウン·エッジ触发(闭合到断开)。
- ステータス触发(持续条件满足)。
- 单击或双击触发(需設定时间常数,デフォルト500ms)。
三、出力ステータス变化
出力ステータス变化涉及以下内容:
- 指令操作面板:出力LED指示灯ステータス。
- 继电器モジュール:控制继电器的开/关ステータス。
- MOS出力モジュール:控制MOS管的开关ステータス。
- 用户可以控制单路或多路的打开、Close、翻转,或点动操作。
四、中间继电器
中间继电器是虚拟的继电器,用于:
- 程序控制其开/关ステータス。
- 检测其アップサイド·エッジ或ダウン·エッジ。
- 将外部连续事件转化为内部ステータス变化事件。
五、内部变量
内部变量是記号付き。变量,用于记录中间データ,サポート以下操作:
- 作为入力:与数字比较(greater than、less than、equal to),用于条件判断。
- 作为出力:存储タイマータイマー。、time、日期、继电器ステータス等信息。
- 运算功能:サポート加法运算,可作为カウンター·カウンター使用。
六、タイマータイマー。
- 简介:タイマータイマー。值为正整数,デフォルト为非0减1タイマータイマー。。
- 用法:
- 設定タイマータイマー。初值(如100)。
- 使用タイマータイマー。值触发其他操作(如タイマータイマー。等于80时触发)。
- example:每隔100ms,第一路出力翻转一次,并経由データ口1送信ストリング·ストリング“123”。
七、函数取扱説明書
- Function:モジュール包含100个函数,用于增强程序易读性、节省空间、実装多级判断。
- 调用方法:
- 在出力选项中選択“函数调用”。
- parameter1選択“函数调用”,parameter2選択具体函数。
- 意义:
- 提高主程序的易读性。
- 避免重复代码,节省空间。
八、函数使用方法
- Edit:経由菜单-設定-函数リスト启动函数編集器。
- 存储:函数可单独存储为
.hanshu文件,サポート导入到主程序或函数界面。 - 调用サンプル:
- 入力断开到闭合时,函数执行一次。
- 函数每隔一秒钟执行一次。
九、系统简单設定
- 操作联机继电器データ口:デフォルトデータ口1。
- 操作联机继电器戻る码:可選択带戻る码或不带戻る码。
- 擦除存储区:擦除内部变量存储区或配列存储区的ROM。
十、系统特殊設定
- 点动操作时间設定:設定点动继电器的时间(単位:ms)。
- 临时データ受信時間の間隔:デフォルト10ms,用于区分データパケットは。
- 入力连击和长按时间常数:デフォルト500ms,用于判断双击或连击。
- 程序运行間隔:デフォルト10ms,可调整。
十一、临时データパケットは処理
- Function:受信的临时データパケットは存储在バッファ,可进行処理。
- 应用:兼容市面上的485、シリアルポート或TTL通信プロトコル,実装协议转发。
十二、配列简单処理
- Operation:
- 加上其他配列:将一个配列追加到另一个配列尾部。
- 赋值为其他配列:替换配列内容。
- 削除バイト:削除指定番号的バイト。
- 変数の追加バイト:在配列最前面追加バイト。
十三、内部变量的使用方法
- Function:
- 将系统变量赋值给内部变量。
- 将内部变量值赋值给其他变量。
- サポートビット操作。,読み書き某一位的值。
- 存储:サポート将内部变量保存する。RAM或非易失性存储区(需硬件サポート)。
十四、定时処理
- Function:経由时钟芯片実装定时任务。
- example:
- 每天早上和下午定时打开第一路继电器。
- 每天8点到12点之间保持第一路闭合。
十五、格式转换
- 内部变量与配列转换:
- 十进制ストリング·ストリング与内部变量相互转换。
- 配列与内部变量相互转换(高位前に,低位在后)。
- example:
- 内部变量123转换为配列
0x31 0x32 0x33。 - 配列
0x01 0x02转换为内部变量值33。
十六、实际应用 - 提取临时データ中的变量
- Function:受信临时データ后,提取特定バイト并转换为内部变量。
- example:
- 判断データパケットはBytesの数和前两バイト単位。值。
- 提取第3到第6バイト的值并转换为内部变量1。
十七、实际应用 - 变量按固定格式送信
- Function:将内部变量转换为配列,并追加头尾バイト后送信。
- example:
- 将内部变量1转换为配列,追加
22 01 10头バイト和チェックバイト后送信。
十八、实际应用 - Protocol Converter
- Function:将不同厂家的协议对接,実装デバイス间的通信。
- 前提:厂家通信プロトコル开放。
十九、实际应用 - 電子协议举例
- Function:受信データ后,判断バイト和チェック成功后执行相应操作。
- example:
- 判断前两バイト単位。和チェック成功后,执行函数1。
- 函数1内部继续判断其他バイト,执行相应操作。
六、Precautions
- セキュリティ警告:
- 严禁带电配線!
- 感性負荷(如电机)需额外加装保护电路。
- 网络問題:
- 若指示灯不亮,電源装置のチェック和ネットワークケーブル。
- 勿修改デフォルト网络設定,否则需テクニカルサポートへの連絡复位。
- 协议デバッグ:
- Recommended Tools:USB转485モジュール + シリアルデバッグアシスタント。
- 指令无效?チェックアドレス和チェック和是否正确!
七、Technical Support
- 客服电话:18801054468
Leave a Reply