±¾ÎÄÊÇͨ¹ýPythonʹÓÃÔÆº£ÓÎÏ·²úÆ·ÈýƪϵÁÐÎÄÕµĵÚһƪ£º
- ͨ¹ýPython·ÃÎÊÔÆº£ÓÎÏ· CANlib
- ͨ¹ýPythonÁ¬½Óµ½Ô¶³ÌÉ豸
- ͨ¹ýPython·ÃÎÊÔÆº£ÓÎÏ·É豸µÄÃæÏò¶ÔÏó³Ì¶È¸ü¸ßµÄ·½·¨
±¾ÎÄÊÇͨ¹ýPythonʹÓÃÔÆº£ÓÎÏ·²úÆ·ÈýƪϵÁÐÎÄÕµĵÚһƪ£º
ÄãÖªµÀÄã¿ÉÒÔ´Ó Python ·ÃÎÊ ÔÆº£ÓÎÏ· CANlib Âð£¿ÏÖÔÚ ÔÆº£ÓÎÏ· CANlib SDK Öаüº¬µÄ CANlib ÒѾ֧³ÖPython °ü×°Æ÷Ò»¶Îʱ¼äÁË£¬µ«ÊÇÎÒÃÇ×î½ü¶ÔÆä½øÐÐÁËÈ«Ãæ¸ÄÔ죬ÈçÎÒÃÇÕâÀïÒªÌáµ½µÄ£¬³Ìʽ¿â¸ü·á¸»ÒÔ¼°¹¦Äܸü¶à¡£Ä¿Ç°£¬°ü×°Æ÷½öÔÚ Python v2.7 ÖнøÐÐÁ˲âÊÔ£¬²»¼æÈÝ Python v3¡£
SDK ×îаæ¼ûwww.jytpm.com/downloads/?£¨µ±Ç°°æ±¾Îªv 5.9 ·¢²¼ÈÕÆÚΪ2015-03-17£©¡£Èç¹ûÄú´òËãÖ±½Ó±à¼Ê¾Àý£¬ÇëÈ·±£½«SDK°²×°µ½¾ßÓÐдÈëȨÏÞµÄλÖã¨Ä¬ÈÏλÖà C:\Program Files (x86)\ÔÆº£ÓÎÏ·\Canlib\ ²¢²»ÊÇ×îÀíÏëµÄ±£´æÎ»Öᣣ¬ÈçÏÂËùʾ£¬ÎÒÑ¡ÔñÁËC:\temp\.µÄÒ»¸ö×ÓĿ¼£©
ÏÂÔØµÄ Python ʾÀýĿ¼ÏÖÔÚ°üº¬ CANlib ºÍ kvrlib ¶þÕߵİü×°Æ÷¡£ÒªÁ˽âÈçºÎʹÓÃËüÃÇ£¬Çë²ÎÔÄÿ¸ö°ü×°Æ÷ÎļþµÄµ×²¿¡£ÀýÈ磺ÈçÏÂËùʾµÄ canlib.py¡£
import sys
sys.path.append("C:/temp/Canlib_SDK_v5.9/Samples/Python")
import canlib
cl = canlib.canlib()
print "canlib version: %s" % cl.getVersion()
channel = 0
handle1 = cl.openChannel(channel, canlib.canOPEN_ACCEPT_VIRTUAL)
print "Using channel: %s, EAN: %s" % (handle1.getChannelData_Name(),
handle1.getChannelData_EAN())
handle1.setBusOutputControl(canlib.canDRIVER_NORMAL)
handle1.setBusParams(canlib.canBITRATE_1M)
handle1.busOn()
ÔËÐÐÉÏÊö´úÂëÊä³ö½á¹ûΪ£º
canlib version: 8.9
Using channel: ÔÆº£ÓÎÏ· Ethercan Light HS (Remote) (channel 0), EAN: 73-30130-00713-0
CANlibµÄÀÏÓû§¶¼ÖªµÀ£¬Êä³öµÄcanlib.dll°æ±¾ºÅ£¨8.9£©ÓëCANlibÈí¼þ°ü£¨v5.9£©µÄ°æ±¾ºÅ²»Í¬¡£
Ìí¼Ó±äÁ¿sys.path
£¨ÈçµÚ2ÐÐËùʾ£©ÊÇͨ¹ýPython¿ÉÒÔ·ÃÎÊÄ£¿éµÄÒ»ÖÖ·½·¨£¬¸üÆÕ±éµÄ·½·¨ÊÇÔÚµ÷Óýű¾Ö®Ç°ÉèÖû·¾³±äÁ¿PYTHONPATH
¡£
Python°ü×°Æ÷ʹÓÃctypesÓëÔÆº£ÓÎÏ· CANlib½øÐжԽӡ£ÕâÊÇPythonµÄÍⲿº¯Êý¿â£¬ËüÌṩ¿É¼æÈÝCÓïÑÔµÄÊý¾ÝÀàÐÍ£¬²¢ÔÊÐíÔÚDLL»ò¹²Ïí¿âÖе÷Óú¯Êý¡£ÕâÒâζ×ÅÒ²¿ÉÒÔÔÚLinuxÉÏʹÓÃÕâЩʾÀý£¨µ«ÊÇÓÉÓÚkvrlibÉÐÎ´ÒÆÖ²µ½Linux£¬Òò´ËĿǰ½öÏÞÓÚCANlib£©¡£
ÔÚÏÂһƪÎÄÕÂÖУ¬ÎÒÃÇ»áÁ˽âÈçºÎʹÓÃPythonÁ¬½Óµ½Ô¶³ÌÉ豸¡£
2015-05-22±à¼£ºÉêÃ÷µ±Ç°µÄ°ü×°Æ÷ÊÇΪPython v2.7Ëù±àд¡£
Margus CarlssonÊÇÔÆº£ÓÎÏ· AB¹«Ë¾µÄÈí¼þ¿ª·¢ÈËÔ±£¬´Ó2007ÄêÒÔÀ´Éî¶È²ÎÓëÁËÔÆº£ÓÎÏ·¹Ì¼þºÍÈí¼þµÄ¿ª·¢¡£Ëû»¹ÎªÔƺ£ÓÎÏ·µÄ¼¼Êõ²©¿Í׫дÁËÐí¶àÓÃÁ÷ÐеÄPythonÓïÑÔ±àдӦÓóÌÐòµÄÎÄÕ¡£