拖拉机与农具能互相通信之后,紧接着要回答的是:这块地该做什么、做了多少、做得对不对。这三个问题的答案不在总线报文中,而在作业数据里,任务控制器负责把它们组织起来。
1. TC 的职责与它在网络中的位置
TC 承担两件事:按作业计划向农具 ECU 下发控制命令;记录已执行的作业数据,交给农机管理软件(FMIS)使用。在网络角色上,它属于拖拉机侧的「服务端 ECU」之一,与虚拟终端、文件服务器、诊断服务工具并列;农具侧对应的则是 TC 客户端。
这条分工线决定了两侧的实现内容:拖拉机侧要跑 TC 服务(任务管理、作业区管理、过程数据记录),农具侧要跑 TC 客户端(接收目标值、回报实际值、响应分段命令)。两边任何一侧缺失,作业数据链路就断了。
标准接口是 ISO 11783-10《任务控制器与农机管理信息系统的数据交换》,现行版本为 ISO 11783-10:2015。实践中还有一条并行的认证轨:实现资料里可以看到,客户端库同时声明支持「ISO TC V3」与「AEF TC 1.0」两套接口。两者并不等同——标准定义了数据与命令,AEF 指南在其上补充了认证所需的具体判定条件。选型时要问清对方依据的是哪一套,否则容易出现「按标准能跑、按认证不过」的情况。
2. 一次作业在 TC 里的完整过程
把 TC 的工作按时间顺序摊开,比背它的能力清单更容易理解:
- 作业前:FMIS 把作业任务打包成 ISOXML 交给 TC。任务里包含地块边界、要做什么(播种、喷药、施肥)、用多少量、以及可选的处方图。
- 任务选择与激活:操作者在终端上选中一个任务,TC 把其中的作业区(treatment zone)作为当前作业对象,并通知农具 ECU 开始作业。
- 参数下发:涉及变量作业时,TC 按当前位置查询处方数据,把目标值下发给农具;不涉及变量作业时,目标值是一个固定值。
- 过程数据记录:农具把实际值(实际流量、实际用量、累计量等)回报给 TC,TC 连同时间与位置一起记录下来。
- 分段控制:作业过程中,TC 按机具的几何与当前位置判断各分段该开还是该关,把命令下发给农具。
- 作业结束:操作者结束任务,TC 收尾记录;数据以 ISOXML 的形式导出,回到 FMIS。
这条链上有一个容易被忽略的前提:所有「值」都要能被双方识别。ISOBUS 用数据字典标识(DDI,Data Dictionary Identifier)来命名过程数据——是「实际施用速率」还是「累计作业面积」,靠的是 DDI 编号,而不是各家自己的变量名。DDI 来自 ISO 11783-11 的移动数据元字典,这也是作业数据能跨品牌汇总的基础。
这条链路上还有一个实现层面的细节值得知道:任务控制器的专用流量复用在同一个参数组编号里,靠内部的过程数据命令区分——目标值下发、实际值回报、阈值、测量间隔、确认与状态各是一条命令。这样做的结果是,抓包时看到的是一串同编号的报文,需要按内部命令字继续分解,而不是靠参数组编号区分功能。
而作业记录所依据的接口版本有多代:较早的草案版本、首个正式版本,以及之后的修订版本;实现方的资料里常见「保留在较新的那一代」或直接声明所支持的版本号。选型时把双方依据的版本问清楚,能避免「功能名称一样、行为对不上」的返工。
3. TC-BAS:把总量记录下来
TC-BAS 的目标是在作业结束后拿出一份可信