PLIN二次开发教程

本文目录

二次开发教程

本站所有技术文档均为虹科技术工程师所编写和更新,如果您发现任何错误,欢迎扫码下方二维码联系我们进行更正,万分感谢。

如果您需要定制的项目服务或教程培训,请联系虹科获取报价

1. 适用硬件

  • PLIN-USB(IPEH-004052)
  • PCAN-USB Pro FD(IPEH-004061)

2. 适用环境与下载地址

3. 使用前提

  • 驱动

链接:https://peak-system.com.cn/driver/

(全选)

  • DLL文件位置
    • 使用dll文件的时候,可以选择(非必须这样做)把dll文件拷贝到如下位置,方便调用。
    • 32位系统:
      • 32BitDLLs>Windows\system32
    • 64位系统:
      • 32bitDLLs>Windows\syswow64
      • 64bitDLLs>Windows\system32
    • 参考来源:http://en.wikipedia.org/wiki/WoW64

任何通信相关问题建议在PLIN-View Pro测试无误后再移至PLIN-API进行开发

任何程序相关的不确定性可以通过官方例程进行验证:

4. 例程问题

所有的API开发包中均包含例程讲解,不同开发包包含的例程不同(C#、Python、Java、C/C++等,实际以开发包内容为准)
特别说明:PLIN-API的Labview例程需要额外收费,包含PLIN-API中所有函数接口,请联系虹科获取!

5. API开发流程

请结合API开发包中的API帮助文档

  • 连接设备

1) PLIN在建立连接时需要连接Client和Hardware
2) LIN_RegisterClient和LIN_ConnectClient分别用于创建客户端和连接客户端。需要注意的是LIN_RegisterClient函数的输入参数hWnd:“The hWnd parameter can be zero for DOS Box Clients。”hWnd在DOSBox的客户端时,可以输入0。详情请参考API帮助文档中LIN_RegisterClient;
3) LIN_InitializeHardware 函数用于连接 hardware,设置波特率和硬件的主从模式;HLINHW由LIN_GetAvailableHardware获得

  • 配置报文帧

1) 对应API中函数LIN_SetFrameEntry
2) 其中参数TLINFrameEntry为报文帧定义
3) FrameID为FID(不包含校验)
4) Direction为发送方向,即发送还是接收
5) ChecksumType规定校验类型为Classic(一般LIN 1.x)还是Enhanced(一般LIN 2.x)
6) Flags一般设置为1。如果设置为3=1+2,表示同时设置FRAME_FLAG_RESPONSE_ENABLE 和 FRAME_FLAG_SINGLE_SHOT 的 Flags。详情请参考API帮助文档中TLINFrameEntry-Fields。

  • 配置调度表

LIN_SetSchedule 用于设置调度表,然后使用LIN_StartSchedule 运行它。调度表总共可以设置 8 个(编号 0 至 7),关于参数TLINScheduleSlot可以查看API帮助文档中TLINScheduleSlot-Fields的详细说明,下表:

  • 接收报文

对应API中函数LIN_Read,LINReadMulti,后者可以一次性去读指令数量的报文帧。其中,TLINRcvMsg的FrameID为PID,详情请参考API帮助文档中TLINRcvMsg;

  • 发送报文

发送报文会因主/从节点、调度表单帧发送而不同,具体API中函数对应情况如下:
1) 主节点-调度表、从节点-被主节点请求:LIN_UpdateByteArray
2) 主节点-无调度表:LIN_Write
3) 主节点-调度表,插入单帧:暂停调度表后调用LIN_Write,再恢复调度表
其中,TLINMsg中FrameId为PID,详情请参考API帮助文档中TLINMsg。

  • 断开链接

对应API中函数LIN_Disconnect

  • 数据库加载

开发包中暂无现成LDF数据库加载接口