虽然在程序中无法错误的定制模块,但确实有四种错误连接数据线的情况。此类连接错误将产生“故障的”数据线,显示为灰色。含有故障数据线的程序无法下载至 NXT。
四种可能的数据线错误是:
类型误配
- 每条数据线在编程模块之间承载特定类型的数据。例如,如果数据线从逻辑输入接头连接至模块的数据中心,则其必须承载逻辑数据。此数据线仅可以连接至另一模块数据中心的逻辑输入接头。
- 出于相同的原因,数字输出接头必须连接至数字输入接头,文本输出接头必须连接至文本输入接头。
- 如果在处理不同类型数据的接头之间连接数据线,则属于类型误配错误,例如,逻辑输出接头连接至文本输入接头。
- 在连接数据线时,特别注意接头的数据类型便可避免此类错误。
示例:
如果希望在 NXT 屏幕上显示一个数字。
在以下所示的第一个程序中,数据线尝试将数字数据送至文本输入端口。数据线为“故障”并显示为灰色。此程序无效且无法下载。
在正确的程序中,已经添加了“文本格式”模块(出现在“高级”模块选项板中)以先将数字数据转换为文本。然后,来自“文本格式”模块的文本输出将被送至“显示”模块的文本数据接头。此程序有效且可以下载。
循环
对于任何模块和数据线的组合,如果一条线路访问同一模块两次,则将产生一个循环。这将造成数据线故障,程序无效。
解决方法是移除循环中的一条或多条数据线。
示例:
如果希望创建一个程序,其通过读取电机当前持续时间并乘二,然后将结果送至电机的输入接头,可以保持电机的持续时间值翻倍。
以下程序将无法工作,因为数据线产生了一个循环。可以看到线路访问这些模块两次。
如下程序解决这一问题,其使用数字变量将翻倍的持续时间发送回循环。
输入缺失
没有数据源的数据线无法工作,其没有可承载的数据,并将显示为“故障”。
例如,在一个拥有特定属性输入和输出两种接头的数据中心上,如果输出接头有数据源,则输出接头仅在另一数据线也连接至输入接头时方可工作。
示例:
假设希望通过另一模块数据中心传输数据。
在如下程序中,故障数据线(灰色)没有承载的数据,因为从输入接头没有通过任何的数据。此程序无效且无法下载。
在如下正确的程序中,输入数据线已经连接至输入接头。来自“声音传感器”模块的数字数据现在可通过“运算”模块传输至“文本转换”模块。
输入过多
多条数据线连接至同一输入接头将造成数据线故障,程序无效。
删除或移除故障数据线可纠正此问题,这样每个输入接头仅连接一个输出接头。
下图显示了一个带有故障数据线的无效程序以及纠正的程序。
删除数据线
要删除两个数据接头之间从左至右的数据线,单击右侧的接头。
|