SimplIQ编程笔记

编程软件手册 SimplIQ驱动描述 SimplIQ驱动器是复杂的、面向网络的、单轴数字驱动器,特色:
1. 先进的控制算法,包括高阶过滤器和增益调度 2. 一个复杂的参考生成算法, 其中包括绝对时间  内插运动,跟着ECAM辅助信号 3. 同步网络操作能力 4. CANopen标准一致性 5. 用户友好的编程 6. 先进的分析工具设置 7. 内置auto-tuning设施 8. 内置数据库维护工具 9. 内置的固件维护工具 所有的都在微小的DSP中实现 软件组织 SimplIQ家族的驱动器,DSP软件分为三个部分:
1.启动软件,这是永久烧到内部DSP闪存和  在产品生命不能升级。引导软件包括助攻的数据  固件在识别准确的驱动模型的操作。的数据  包括最大电机相电流,名义总线电压的硬件  传感器的通信和I / O接口和驱动器的年级(模型)
(标准或高级)。

2. 操作软件(固件),这可能是在用户网站如果升级或更新  修改是必需的。。

3. 支持数据库装载到串行闪存。这个数据库服务为特性描述作为一个归档系统,文件系统存储的数据库和应用程序存储的工厂或用户提供的程序。。

启动软件 功能:
1. 某些DSP初始化寄存器 2. 自动验证测试代码。如果代码验证失败,它将自动转移到下载固件模式 3. 处理和解释退化的通讯,在所需的固件下载功能。

4. 支持固件下载到芯片上的闪存 5. 将控制转移到固件(软件)
固件 固件实现所有其他软件功能,如在本手册所述SimplIQ命令参考手册。固件将控制转移到引导软件当一个下载固件(DF)命令启动一个固件版本升级。在结束的固件下载过程中,SimplIQ驱动重新启动。

特性 特征数据加载到串行闪存。它包括一个文件分配表  和几个文件包含的数据SimplIQ驱动器,包括:
1. 支持的命令列表 2. 错误代码列表 性格使IDE中的所有数据项处理SimplIQ驱动。该文件储备分配表空间的存储应用程序参数和用户项目。个性数据使用固件烧到串行闪存  软件。固件可以引导没有个性的数据,但它并不完全功能之前个性数据编程。完整的解释个性数据给出在附录A。

相关软件 The Elmo Composer application电脑在Microsoft Windows上运行,提供了支持软件用于设置、调整计划和评估的性能SimplIQ驱动器。在其许多工具,软件包含:
1. 设置和优化工具 菜单进入基本的应用程序数据和限制 工具关联函数的I / O连接器别针 电流控制器自动调优 自动换向调优 手册,先进的手动和自动速度控制器调优 手册,先进的手动和自动位置控制器调优 2. 智能终端,直接使用rs - 232或CAN 3. 记录器有先进的范围控制、同时观察8个信号、一系列的事件触发。

4. 应用程序数据库维护:保存和加载应用程序数据库,和编辑应用程序参数,和帮助 5. 先进的用户程序开发IDE:
编辑、编译、上传/下载、Debugger:断点、查看变量、调用堆栈表 The Composer software读取从SimplIQ个性数据驱动,从而适应特定的驱动模型 计量单位 本部分描述使用的测量单位SimplIQ驱动,时间, 位置、速度、电压和电流。

位置 详见P12 SimplIQ驱动指的是使用位置传感器计数,这可能与物理有关单位使用以下命令:
CA[18] 旋转电机 一个完整旋转传感器的计数。

CA[23]直线电机 每个单位计数,值存储,不用于内部计算。

YA[1],YA[3] 丫[1]是辅助反馈分辨率,在计数/物理单元。丫[3]
表明什么物理单位是:革命,仪表或其他。丫[1]
丫[3]存储只为了方便;SimplIQ软件不使用这些数字用于任何内部计算。

速度及加速度 以数/秒速度和加速度测量计数/ second2。的速度单位可能与物理单位将旋转的计数, 米或其他,如2.3.1节中解释。

电流和转矩 在安培电流测量,尽管没有单一的方法指定当前的三相电机。对于正弦电机,RMS相电流通常指定了电动机电流。RMS决定机械旋转所以相电流是电机当前的“电机电流“只要电机恒速。不规则电机,传统的六步驱动一个电动机相位开路,且只有一个驱动电机电流流经两个阶段。这个driven-phase当前指定“电机电流。不规则电机六步变换在1安培,均方根电流是0.92安培。SimplIQ驱动器有一个电动机电流的定义,尽管它同样可以运行用正弦、梯形或自由电机绕组。电机电流被定义为最大绕组。

获得正弦RMS相电流电机,增加电机电流报告的SimplIQ驱动0.71倍 (有道翻译稍有出入,详见P12/ 2.3.3)
SimplIQ驱动外围设备 1. 位置解码器 SimplIQ驱动器包含两个位置解码器-主要的和辅助的,彼此类似。解码器都定时(通过定时器组A和B)为准确速度信息。位置解码器措施正交或脉冲/方向。译码器的最大计数率20 MHz,没有输入滤波器。如果一个输入滤波器应用,最大脉冲率降低(这是完全解释EF[N]命令  在SimplIQ命令参考手册)。

编码器的输入没有保护:没有硬件识别非法转换。超过最大脉冲的计数率造成损失不能被检测到。

2. A/D转换器 采样一下信号 Ia Ib Ic 同时检测三相电流 模拟输入和参考电压,同时采样形成一个差动测量 线电压 采样纠正当前环路增益 所有的测量的分辨率是12位,而且,在实践中,最后一位是吵杂的。  电动机电流测量偏移量,特殊测量的结果机制。由于电子错误SimplIQ驱动电路、模拟输入无法避免一个偏移量,可以纠正的分辨率大约5毫伏,使用作为[1]参数。[1]可以正确的偏移量的有限的决议范围内  5到10毫伏。这意味着,例如,如果AG)[2]= 10000,抵消校正的质量速度模拟引用将被限制在大约100 /秒 数字输入 驱动的六个数字输入插脚路由到一个数字输入端口。此外,两个别针(5和6)路由到高速捕获输入主和辅助导航。特殊功能,如启用、停止RLS和读者与数字相关的输入插脚(指SimplIQ IL命令的命令参考手册)。数字输入处理不同在其他驱动器,看到他们安装指南的细节。

数字输入响应时间受限于光学耦合器和速度输入过滤器。编码器指数和家庭输入过滤同样的位置解码器。的时间位置解码器过滤器是在英孚[N]命令解释道部分SimplIQ命令参考手册。

另一个数字输入过滤软件。软件的时间过滤解释如果[N]命令部分SimplIQ命令参考  手册。

数字输出 SimplIQ驱动的两个数字输出连接器可以用于non-committed别针  数字输出,也可以是OL命令程序的特殊功能, 如激活外部刹车。

与主机通讯 Rs232 详见:P15 编译语言 SimplIQ伺服驱动器使用的沟通语言,使得用户:
1. 设置驱动器 2. 发送命令 3. 查询驱动状态 两种方法可以用来与驱动通信:
1.使用通信接口- rs - 232或CANopen转移命令驱动的驱动和接收立即响应。这方法需要动力和之间的在线交流和密切合作它的主人。物理和标准rs - 232和CANopen通信需要不同的每个方法的命令语法。本章描述了驱动语言  根据基本rs - 232或可以“OS”语法。

2. 写一个程序的驱动语言在驱动和存储记忆。驱动器就可以运行程序以最小或没有主机援助 命令行 表达式 以逗号、换行、或回车终止。

用户程序语言 用户程序组织 1. 变量声明 2. 程序文本,包括表达式、命令、标签和评论 3. 退出指令,它可以用来终止程序 编译器的命令不能用于一个程序是那些:
1. 上传或下载数据驱动器和主机之间。

2. 数据存储在闪存或检索数据的闪存 3. 参与执行使用程序 单个或多个命令执行 执行一个完整的政策确保命令行执行的保证  序列和允许用户控制程序执行的速度。越  命令在一个程序,将程序执行速度越快,为代价的  慢响应主机通信。

但是请注意,这一政策的不足之处是,如果一个程序的执行  需要很长时间,或者如果它永远循环内部,SimplIQ驱动器可能成为完全  对其可以和rs - 232通信。为了减少这种风险,
执行一个程序行是3秒的超时限制保护  最长时间程序行可以持续执行。如果一个程序执行超过3行  秒,SimplIQ驱动器停止错误代码96:用户程序超时。

行和表达式终止 一行可以有以下终端:回车,换行或它们的组合。一行可能包含一个表达式或一个序列的表达式。表达式在一个序列在同一行可以用分号或逗号分开(不是括号或内部括号)。

例如:
a = 3 , b = 2 , c = a + b , One line of three expressions separated by commas a = 3 ; b = 2 ; c = a + b ; One line of three expressions separated by semicolons a = 3 , b = 2 ; c = a + b One line of three expressions separated by a comma, a semicolon and terminated with a line feed [a,b] = func (23, c, 3.14) An expression in which the comma is not an expression separator because it is inside parentheses 行延续 用…连接上下行 限制 用户程序文本的每一行最多可以包含128个字符(适当的屏幕上  可读性)。如果一个文本行超过这个值,编译器错误问题 表达式也有局限性:表达式的最大容许长度是512 符号,不包括评论和椭圆。如果一个程序包含一个复杂的表达式需要多个行,摘要的长度(没有评论和表达椭圆)超过512个字符,编译器错误问题。

系统命令 SimplIQ系统命令(描述完全SimplIQ命令参考手册)
由一个两个字母的助记符号(只有英文字母,不区分大小写)。为 例子中,表达式ac = 100000和AC= 100000有同样的意思,  尽管符号是不同的。

每个命令都有一个16位的国旗,每个点定义任何功能。例如,第四位  (后处理国旗)定义了是否可以使用命令设置一个值。

故障处理 1. 意外、预期之外的错误 详见:P40 2. 预期错误 程序下载、上传  成功编译后,编译后的代码可以下载到SimplIQ驱动器。这一步是由IDE支持。每个下载之前,自动清除闪存部门,用于保存用户程序。

串行flash使用两个命令执行下载和上传:DL和LS。这两个命令使用辅助LP命令,这是一个向量整数命令。CP 命令可以用来清除用户闪存区域,和CC命令可以使用checksum-verify程序,并设置程序读取标志。

二进制数据 SimplIQ驱动闪存是界面上的二进制数据。发送二进制数据rs - 232行是有问题的,因为他们不区分数据和分隔符 用232发送有问题的字符:
1. 128~255的数字 2. 所有可能的结束符 3. 等号(=)
后退(backspace)
<ESC> 为了防止这个问题,在数据上传使用十六进制的二进制格式和下载,虽然增加了传输的数据量。

每个字节的十六进制格式由两个数字(如0 x12),被认为是单个的字符。例如,8位十六进制0 x12数量二进制格式两个字符的序列:1和2。

数字的表示在DSP闪存不同于其表示在个人电脑:
1. 8-bit 数字用相同的方法表示 2. 16位数字,表示十六进制格式等于0 x1234,表示  在DSP在以下两个字节内存:
1. 字节1等于0 x12的值以十六进制形式 2. 字节2等于0 x34值以十六进制形式 3. 32位数字,表示在等于0 x12345678,十六进制格式  在DSP记忆在接下来的四个字节:
1. 字节1等于0 x56的值以十六进制形式 2. 字节2等于0 x78值以十六进制形式 3. 字节3等于0 x12的值以十六进制形式 4. 字节4等于0 x34值以十六进制形式 下载辅助命令:
LP[N] CP CC 下载程序 :
DL命令 例如:
LP[1]=start; DL##xxxxxxxxx<ESC>CS; XXXXXXXX 表示escape-sequenced数据有效负载 Start 表示用户程序的字节地址flash CS 表示消息的16位校验和,包括DL # #。

DL命令错误可能是由于:
1. 试图写入flash的保护区。而DL可能开始合法写入flash,它的最后一个字节可能尝试非法(保护)写。在任何这样的情况下,DL命令将被拒绝和串行flash的内容不可预知的。

2. 当电机在使用DL。

3. 当程序正在运行使用DL。

4. 有一个错误的校验和。在这种情况下,DL将被拒绝,但不会造成伤害 5. 发生验证错误。如果DL试图写一个错误写入flash
以前,写可能会失败由于验证错误。在这种情况下,的内容  flash将不可预测的,它需要被清除和完全重写。

6. DL字符串太长。DL字符串的最大长度是500字节,由于  内部SimplIQ驱动器限制。

7. 程序的有效标志不是-1.DL不会被执行(CP必须在DL之前发出)
下载过程:
1. 读的位置(loc)和用户代码的长度分区,使用LP[3]
LP[4]命令 2.验证映像块有适合的分配空间 3.使用CP清除闪存。

4.下载你的印象文件使用下面的序列:
LP[1]=loc; DL##…100 bytes of payload LP[1]=(loc+100) DL##…next 100 bytes of payload . . . and so on until the end of the image 4. 使用CC =校验和命令宣布加载和验证整个的结束下载过程。

上传过程:
1. Read the location (loc) and the length (len) of the user code partition from the mainTOC, using the LP[3] and LP[4] commands. 2. Upload your image file using the following sequence: LP[1]=loc; LP[2]=100 Use LS to get the next 100 bytes of the payload. LP[1]=(loc+100); Use LS to get the next 100 bytes of the payload. . . . and so on until the end of the image. 程序执行 1. 启动一个程序 XQ程序启动的命令,这表明,标签应该执行开始。

2. 停止和恢复程序 HP命令用于程序停止,冻结程序状态,不会重置参数, XC用于恢复程序执行,从冻结地开始执行。

详见P86,举例。

3. 自动程序执行权力 如果autoexec函数包含在用户程序,该程序后线功能声明在power up。

4. 保存串行闪存 CP 调试 这个过程允许用户调试一个程序,下载到闪存的SimplIQ驱动。这个步骤可能是有用的在开发和用户程序检查用户流 运行、断点、恢复 XQ启动一个标签或函数,如下:
1.XQ##MYFUNCTION(a,b,c) 运行函数 2.XQ不从函数返回 值 3. XQ##LABEL runs from ##LABEL 4.XQ从一开始就运行用户程序代码 5.XQ不带参数 是非法的 6.XQ不返回任何值 目前机体状态 DB##MS返回机体状态 程序状态 DB##PS 详见P89 错误状态 DB # # ES命令返回最后一个用户程序的错误 设置、清除断点 SimplIQ驱动支持六个断点同时:五个用户定义的断点,另一个用于内部使用IDE。任何时间和任何地点,可以设置断点无论如果程序正在运行。

更多调试内容详见手册 P95以前

推荐访问: