��ʼʹ��kvmlib

Magnus Carlsson
Sun, 16 Sep 2018 20:36:33 +0000

�����ǹ�����4���ֵļ������͵ĵ�һ���֡��˲��ͽ���ͨ��kvmlib���ԣ�ʹ�õڶ����ƺ���Ϸ Memorator���ݼ�¼�ǣ����úͶ�ȡ�Ѽ�¼������:

1��ʼʹ��kvmlib

2 Ϊ�������ӽű��ʹ�����

3 ��һ���˽�kvmlib

4 ��kvmlib����SD��

���һ�������½��������ʹ��python����kvaser�豸���˲��͵ĵڶ����ֽ����˸�Ϊ���ӵ����ã����������ֽ�����һ�������������C APIˮƽ��ʹ��kvmlib�����һ���ֽ����������ֻ�ܷ���SD��������£������豸��GitHub���ṩ�����ĳ����б���

1.1 ����

���µ��ƺ���Ϸ Memorator�豸������ͨ����ʹ��?�ƺ���Ϸ Memomorator Config Tool – һ��Windows GUI������������Ҳ����ʹ���ƺ���Ϸ Memorator library (kvmlib) – �ƺ���Ϸ CANlib SDK.1��һ���֣���������Щ�豸��

��������ѡ����豸�Ǿ߱�3.113�̼��汾��kvaser Memorator 5xHS2��

���ǻ���ʹ��python canlib����v1.6�棬��kvaser canlib SDK��v5.23�棬���°汾�ɴ�www.kvaser.com/downloads���ء�

1.2 ��ʼ��SD

�������ǵĲ���ϵͳ���ļ��������и�ʽ��SD���ǲ����ģ����ǻ���Ҫʹ���ƺ���Ϸ Memorator�豸��ʼ��SD������SD�������ƺ���Ϸ Memorator�豸�����ǽ��ƺ���Ϸ Memorator�豸���ӵ����Ե�һ��USB�˿ڣ������е�һ���ֱ�������ʽ��SD����

# 01_init_sdcard.py
from canlib import EAN
from canlib.device import Device
from canlib import kvmlib

# �ҵ��������ϵ� �ƺ���Ϸ Memorator Pro 5xHS�������ΪEAN 73-30130-00778-9
ean = EAN('73-30130-00778-9')
dev = Device.find(ean=ean)

# ���Ӳ��ѯ��һЩ��Ϣ, ����ӡ����
print(dev.probe_info())

# ʹ���������ƺ���Ϸ Memorator���ҵ��� CANlib ͨ���ţ��򿪸��豸������������LED �ƽ���ʼ����"���е�" ����ʾ���豸���ڴ򿪣��Խ������á�

# ���ǽ�ʹ��һ�����ֹ���������ȷ�������ʱ����������ȷ�ر�Memorator�ڲ�������
with kvmlib.openDevice(dev.channel_number()) as memo:
    # ��ȱʡֵ��ʼ��SD ����CAN ͨ��LED���������ʼ�������У������������
    print('Formatting disk...', end='')
    memo.format_disk()
    print(' done!')

�б� 1:��һ�� �ƺ���Ϸ Memorator �豸�ϳ�ʼ��SD��

��������������ı��룬���ǿ���ȷ�ϸ��豸ȷʵ�����й̼��汾v3.11, �������ӵ�canlib ͨ��0����

CANlib Channel: 0
Card Number   : 0
Device        : �ƺ���Ϸ Memorator Pro 5xHS (channel 0)
Driver Name   : kcany0a
EAN           : 73-30130-00778-9
Firmware      : 3.11.0.557
Serial Number : 1023
Formatting disk... done!

1.3 ��������

�������Ǳ���ͨ����дһ��XML����4������һ�������������Ǿ�һ���򵥵����ӣ�ֻʹ��ͨ��0��1�����ǽ���������ͨ���ı���������Ϊ1 Mbit/s�����ڰ���ģʽ�¼�¼����������

<?xml version="1.0" ?>


<KVASER>
  <VERSION>2.0</VERSION>
  <BINARY_VERSION>6.0</BINARY_VERSION>
  <SETTINGS>
    <MODE fifo_mode="NO" log_all="YES"/>
  </SETTINGS>
  <CAN_BUS>
    <PARAMETERS bitrate="1000000" channel="0" silent="YES" sjw="1"
       tseg1="5" tseg2="2"/>
    <PARAMETERS bitrate="1000000" channel="1" silent="YES" sjw="1"
       tseg1="5" tseg2="2"/>
  </CAN_BUS>
  <TRIGGERBLOCK/>
  <SCRIPTS/>
</KVASER>

�б� 2: �� XML ���÷���.

��ǰXML���ð汾��v2.0�����ǵ��豸ʹ�ù̼��汾v3.11, Ԥ�ڶ����ƣ����ã��汾6.0��

����һƪ�����У����ǽ��������õĸ��ӳ̶ȣ������������������֮ǰ����ȷ��֤���������ڣ�����ֻ��ȷ����ȷ�����ʹ��XML��

1.4 ��������

�������ڼ������Կ�ʼ���ݼ�¼�ˣ�ֻ����Ҫ�����üӵ��豸�������ǽ���ȡ���Ǹմ�����XML�ļ�����ʵ����һ����������XML����ת��Ϊ���������ã������������������ص��豸����

# 02_config_device.py
from canlib import EAN, Device
from canlib import kvamemolibxml
from canlib import kvmlib

# Ѱ�������������ϵ� �ƺ���Ϸ Memorator Pro 5xHS
# Ҫ��: ֻҪ�������6λ���Ϳ����ˡ�
dev = Device.find(ean=EAN('00778-9'))

# ��ȡ XML �����ļ�
with open("logall.xml", 'r') as myfile:
    config_xml = myfile.read()

# �� XML ����ת��Ϊ����λ����
config_lif = kvamemolibxml.kvaXmlToBuffer(config_xml)

# ��memorator �豸������д�˶���λ����
with kvmlib.openDevice(dev.channel_number()) as memo:
    memo.write_config(config_lif)

�б� 3:���������ص� �ƺ���Ϸ �豸����

���ڣ�������׼���ã������úõ��豸����ԶϿ��������豸���ӵ����е�CAN���ߣ���ͨ�����豸��CAN 1�����������ӵ磬����ʼ���ݼ�¼��

1.5 ��ȡ�Ѽ�¼�ı���

�����Ǽ�¼��һЩ���ĺ������ٴν�����ƺ���Ϸ Memorator �豸���ӵ����Ե�USB �ӿ��ϣ�����ȡ�����

# 03_read_logged.py
from canlib import EAN, Device
from canlib import kvmlib

# ���ӵ� �ƺ���Ϸ Memorator Pro 5xHS�豸�ϣ�����EAN 73-30130-00778-9
# �������ݼ�¼��
dev = Device.find(ean=EAN('00778-9'))
memo = kvmlib.openDevice(dev.channel_number(), mount=True)

fileCount = len(memo.log)
print('Found {} file{} on card.'.format(
    fileCount,
    "s" if fileCount > 1 else "")
)

# ����������־�ļ����������ǵ�������д����׼�����
for i, logfile in enumerate(memo.log):
    print('Reading file {}:'.format(i))
    print("Logging started at", logfile.start_time.isoformat(' '))

    for event in logfile:
        print(event)

# memo.log.delete_all()   # ��ѡ��, ɾ��������־�ļ�

# �ر�memorator�豸
memo.close()

�б� 4: ��ȡ�Ѽ�¼�ı��Ĳ���ӡ����׼�������

��ע�����ǲ�û�������б�4�еġ�# memo.log.delete_all()���� �C ɾ���Ѽ�¼�ļ��������Ϊ�������ǲ���������CAN�����ϼ�¼�����Զ����������ű���

Found 1 file on card.
Reading file 0:
Logging started at 2018-05-22 11:08:56
*t:             - EAN:73-30130-00778-9  s/n:1023  FW:v3.11.557  LIO:v5.0
 t:   0.236734012  DateTime: 2018-05-22 11:08:56
 t:   0.236734012 Log Trigger Event (type: 0x1, trigno: 0x00, pre-trigger: 0, post-trigger: -1)

 t:   4.453331987  ch:0 f:    2 id: 490 dlc: 2 d:5d d6
 t:   4.453332025  ch:1 f:    2 id: 490 dlc: 2 d:5d d6
 t:   4.453731112  ch:0 f:    2 id: 284 dlc: 2 d:a8 b1
 t:    4.45373115  ch:1 f:    2 id: 284 dlc: 2 d:a8 b1
 t:   4.454201237  ch:0 f:    2 id: 739 dlc: 2 d:7a 4b
 t:   4.454201275  ch:1 f:    2 id: 739 dlc: 2 d:7a 4b
 t:   4.454729362  ch:0 f:    2 id: 622 dlc: 6 d:8d b9 69 8a 98 e1
 t:     4.4547294  ch:1 f:    2 id: 622 dlc: 6 d:8d b9 69 8a 98 e1
 t:   4.455189487  ch:0 f:    2 id: 559 dlc: 1 d:78
 t:   4.455189525  ch:1 f:    2 id: 559 dlc: 1 d:78
 t:   4.455685612  ch:0 f:    2 id: 33a dlc: 1 d:0d
 t:    4.45568565  ch:1 f:    2 id: 33a dlc: 1 d:0d
 t:   4.456254737  ch:0 f:    2 id: 463 dlc: 6 d:14 eb d6 ae ed 46
 t:   4.456254775  ch:1 f:    2 id: 463 dlc: 6 d:14 eb d6 ae ed 46
 t:   4.456754862  ch:0 f:    2 id: 59b dlc: 6 d:7f a9 28 3a f2 5d
 t:     4.4567549  ch:1 f:    2 id: 59b dlc: 6 d:7f a9 28 3a f2 5d
 t:   4.457269987  ch:0 f:    2 id: 103 dlc: 8 d:4e 0d 1a dd 8d b2 19 ab
 t:   4.457270025  ch:1 f:    2 id: 103 dlc: 8 d:4e 0d 1a dd 8d b2 19 ab
 t:  10.220507812  DateTime: 2018-05-22 11:09:06

���ļ�����������������֪����������kvmlib���úͶ�ȡ�Ѽ�¼�����������¸����֣����ǽ��������۽ϸ��ӵ�������

ע����

1?Ҫ����˽������ƺ���Ϸ SDK libraries, ����Ĳ��ͣ���������?Get more from your hardware with �ƺ���Ϸ SDK libraries�������ƺ���Ϸ SDK�������������Ͽ�������ֵط����ƺ���ϷӲ�������ã���

2?�˲�Ʒ��?�ƺ���Ϸ Memorator Pro 5xHS?�����Ϊ73-30130-00778-9��

3?�ƺ���Ϸ Memorator Pro 5xHS�Ĺ̼��Ǻ�?�ƺ���Ϸ Firmware Update Tool?���ƺ���Ϸ�̼��������ߣ�������һ��ģ������ڴ�������

4??XML���ø�ʽ���������н��ܣ�?Specification of �ƺ���Ϸ Memorator Device configuration XML format, ���ڴ˲�����

�����������ӽű��ʹ����� �ڶ�����

�����Ѹ����� Ҫ�鿴ԭ�����뵥������Ŀ�