帧格式:一切都夹在 STX 和 ETX 之间
松下把每条命令都包在两个控制字节里。这一条事实,决定了你的命令能不能生效:
STX 命令 ETX
0x02 PON 0x03开机命令的完整字节序列:
十六进制 : 02 50 4F 4E 03
十进制 : 2 80 79 78 3
转义写法 : "\x02PON\x03"STX 和 ETX 是原始字节,不是文本。 如果你在终端里敲下 S、T、X 三个字母,你发出去的就是三个 ASCII 字符,投影机会把整帧丢掉。必须以二进制发 0x02 和 0x03。 在多数调试工具里,这意味着把发送模式切成 HEX,或者用 \x02 这样的转义语法。
命令体是 3 个字符(C1 C2 C3),ASCII,区分大小写——大写 PON 和小写 pon 不是一回事。带参数的命令,参数跟在冒号后面:
STX C1C2C3 : P1..P4 ETX
0x02 IIS : HD1 0x03不带参数的命令,冒号要整个省掉。 发 PON: 这种带尾冒号的写法是错帧。
ID 前缀变体
更大的 PT-D / PT-R 系列——那些设计成可以串接的机型——在帧里多了一个 ID 字段:
STX ID ; 命令 ETX这种形式下有据可查的开机字符串是 ADZZ;PON:
十六进制 : 02 41 44 5A 5A 3B 50 4F 4E 03AD 标识寻址方式,ZZ 是广播 ID——链上每台投影机都会响应。要点名某一台,就把 ZZ 换成它的 ID。
用哪种变体是"按型号"而不是"按系列"决定的。 动手前先查你那台机器的 RS-232C 规格书。给期待 ID 格式的机器发裸 PON(或反过来),症状和线断了一模一样:什么都不发生。
接线与 7-8 脚短接
松下的工程投影机多数用 9 针 D-sub,接电脑要交叉线(null-modem)。部分紧凑机型改用 8 针 DIN 接口,必须配松下自己的转接件——那种情况下,换多少根线都没用。
| 信号 | 投影机针脚 | 电脑针脚 |
|---|---|---|
| RXD | 2 | 3 |
| TXD | 3 | 2 |
| GND | 5 | 5 |
最费时间的一个坑:部分机型要求在投影机端把 7 脚和 8 脚(RTS/CTS)短接。 没有这个短接,投影机永远不会置起"可以发送"信号,会静默丢弃你发的一切。线看着没问题,针脚定义看着没问题,就是不工作。
如果你在排一台什么命令都不理的松下,而波特率和帧格式都已经确认过了——先查 7-8 脚有没有短接,再查别的。
串口参数
| 参数 | 值 |
|---|---|
| 波特率 | 9600(默认;部分机型可选 19200 / 38400) |
| 数据位 | 8 |
| 校验位 | 无 |
| 停止位 | 1 |
| 帧格式 | STX (0x02) … ETX (0x03) |
指令参考
| 命令 | 作用 | 参数 |
|---|---|---|
PON | 开机 | 无 |
POF | 关机 | 无 |
QPW | 查询电源状态 | 无 |
IIS | 输入切换 | 因机型而异,如 HD1 |
OSH | 快门(消隐)开/关 | 0 / 1 |
AVL | 音量 | 数值 |
VPM | 画面模式 | 因机型而异 |
OMN | 查询型号名 | 无 |
最常用的三条的字节序列:
PON → 02 50 4F 4E 03
POF → 02 50 4F 46 03
QPW → 02 51 50 57 03做展厅的话 OSH 值得专门提一句。 松下工程投影机带机械快门,两批观众之间关快门远好过关机再开机——瞬时、无声,而且不消耗一次灯泡/激光的启动次数,也不用等冷却。
必须遵守的时序规则
松下的规格书对时序写得异常明确,而无视它是仅次于 7-8 脚短接的第二大故障来源。
1. 灯点亮后有一段静默窗口。
灯开始点亮后的 10 到 60 秒内,不能收发任何命令。一个中控系统如果发完 PON 紧接着发 IIS 切输入,第二条命令会凭空消失。把这个延时写进你的宏里。
2. 收到响应再发下一条。
不要流水线式连发。发一条、等一条、再发下一条。
3. 超时设成 10 秒以上。
松下投影机在状态切换期间,合法地就是要这么久才回。2 秒超时会把不是故障的情况报成故障。
为什么你的松下命令没有回应
1. 7-8 脚没短接。 见上。就是它。
2. 你把 "STX" 当文本发了。 要以字节发 0x02 / 0x03。
3. 帧变体用错了。 给需要 ID 的机型发了裸 PON,或者反过来。
4. 你正处在 10-60 秒的点灯窗口内。 命令是真的被投影机丢掉了。
5. 用了直通线而不是交叉线。 或者是 8 针 DIN 机型却没用对转接件。
6. 投影机把你的命令原样回显,而你把它当成了成功。
这条值得单开一节。
待机回显制造的"假成功"
松下投影机在待机状态下收到命令时,会把收到的命令原样返回。
你在待机时发 PON,可能收回来一个 PON。一个不加判断的中控系统看到有字节回来了,就把"收到了响应"当作"命令成功",于是报告投影机已开机——而它正黑着。
解法是:永远不要信这个回显,要用 QPW 去验证。 发完 PON 之后等一会儿,再查询电源状态并检查返回值。这是任何无人值守场景都该用的模式,也正是松下规格书专门把 QPW 写成电源操作确认手段的原因。
如果你在调试时看到自己发的命令又飞回来了,那不是你线上的回环——那是投影机在告诉你:我在待机,我不接受这条命令。
用 SoftControl 控制
SoftControl 通过串口或 TCP 以原始字节发送松下帧,所以 0x02 和 0x03 是作为控制字节而不是文本发出去的。它的指令测试页会显示实际发出的十六进制和返回的原始字节——这正是你用来分辨"真确认"和上面那种"待机回显"的手段,而不是等到开馆当天才发现区别。