Contents

Similar documents
Contents

移民資料

untitled

第五章 實例個案

untitled

untitled

untitled

I/O Files讀寫檔案:

untitled

untitled

untitled

untitled

WTO/TBT重要通知

1

untitled

untitled

隱形眼鏡的世界

untitled

個人教室 / 網路硬碟

第五章 鄉鎮圖書館閱讀推廣活動之分析

地方公共服務績效比較評量之探討—標竿學習策略的觀點

九十三年第三期檔案管理工作研習營學員建議事項答覆情形彙整表

untitled

臺灣地區的警察教育現況與展望

untitled

勞工安全衛生組織管理及自動檢查辦法修正條文對照表(草案)

untitled

untitled

untitled

PowerPoint 簡報

人身保險業務員資格測驗方案

untitled

untitled

龍華科技大學

94年度學習障礙補救教學進階研習

untitled

untitled

4-04 論文封面(樣式)

untitled

電腦組裝訓練

untitled

龍 華 科 技 大 學

了 立 連 立 量 領 來 例 蘭 便 不 數 不 論 更 更 更 力 更 參 例 來 例 見 量 度 量 量 參 論 量 行 量 量 瑩 理 來 錄 量 量 不 力 省 力 立 力 量 量 量 了 量 便 錄 錄 錄 料 說 省 6

國立故宮博物院九十三年提升服務品質績效報告

untitled

勞工安全衛生組織管理及自動檢查辦法修正條文對照表(草案)

untitled

untitled

untitled

untitled

untitled

untitled

壹、

untitled

台南縣全民學區數位學習課程進階班—PhotoImpact 10

untitled

二、文獻回顧

中華民國第45屆中小學科學展覽會

第一章 緒論

untitled

個人提供土地與建設公司合建分屋並出售合建分得之房屋,核屬營業稅法規定應課徵營業稅之範圍,自本函發布日起,經建築主管機關核發建造執照之合建分屋案件,附符合說明二之規定者外,均應辦理營業登記,課徵營業稅及營利事業所得稅

untitled

untitled

untitled

untitled

四湖鄉志纂修

untitled

untitled

十四、特殊需求的嬰兒

國科會專題研究計畫成果報告撰寫格式說明

untitled

untitled

untitled

台灣經濟新報資料庫

untitled

untitled

untitled

untitled

untitled

廉 樂 不 廉 倫 理 廉 倫 理 領 不 參 領 不 若 不 不 不 不 利 聯 行 李 聯 例 律

untitled

untitled

Slide 1

骨灰龕政策檢討公眾諮詢

國家圖書館典藏電子全文

編者的話

中華人民共和國殘疾人保障法(2008年修訂)

untitled

血管內裝置感染管制作業規範

台灣紡織產業發展史物件徵集計畫研究報告

一考察行程

untitled

降禰遘禤

untitled

九十四年度提升服務品質績效報告

untitled

untitled

untitled

untitled

untitled

Transcription:

PISO-PS400 (Version 3.1) PISO-PS400 1

Warranty All products manufactured by ICPDAS Inc. are warranted against defective materials for a period of one year from the date of delivery to the original purchaser. Warning ICPDAS Inc. assumes no liability for damages consequent to the use of this product. ICPDAS Inc. reserves the right to change this manual at any time without notice. The information furnished by ICPDAS Inc. is believed to be accurate and reliable. However, no responsibility is assumed by ICPDAS Inc. for its use, or for any infringements of patents or other rights of third parties resulting from its use. Trademark The names used for identification only maybe registered trademarks of their respective companies. License The user can use, modify and backup this software on a single machine. The user may not reproduce, transfer or distribute this software, or any copy, in whole or in part. PISO-PS400 2

Contents...6...8 2.1...8 2.1.1 ps400_scan...8 2.1.2 ps400_get_cardinfo...10 2.1.3 ps400_open...11 2.1.4 ps400_close...12 2.1.5 ps400_reset...13 2.1.6 ps400_open_all...14 2.1.7 ps400_close_all...15 2.1.8 ps400_reset_all...16 2.2...17 2.2.1 ps400_set_pls_cfg...17 2.2.2 ps400_set_enc_cfg...19 2.2.3 ps400_set_limit...20 2.3 ()...21 2.3.1 ps400_set_range...21 2.3.2 ps400_get_range_settings...23 2.3.3 ps400_set_inp...24 2.3.4 ps400_set_alarm...25 2.3.5 ps400_set_filter...26 2.3.6 ps400_set_softlimit...28 2.3.7 ps400_load_config...30 2.3.8 ps400_servo_on...31...32 3.1 ps400_set_home_cfg...32 3.2 ps400_home_start...35 立...37 4.1 ps400_velocity_move...37 4.2 ps400_const_move...39 4.3 ps400_const_moveall...40 4.4 ps400_t_move...42 4.5 ps400_t_moveall...44 PISO-PS400 3

4.6 ps400_s_move...46 4.7 ps400_s_moveall...48...50 5.1 連...50 5.1.1 ps400_t_line2_move...50 5.1.2 ps400_s_line2_move...53 5.1.3 ps400_t_line3_move...56 5.1.4 ps400_s_line3_move...59 5.1.5 ps400_t_arc2_move...62 5.2 連...66 5.2.1 ps400_conti_interp_begin...68 5.2.2 ps400_conti_interp_next_ready...70 5.2.3 ps400_conti_line2_move...71 5.2.3 ps400_conti_line3_move...73 5.2.4 ps400_conti_arc2_move...75 5.2.5 ps400_conti_interp_end...77...78 6.1 ps400_stop_move...78 6.2 ps400_stop_move_all...80 6.3 ps400_drv_hold...81 6.4 ps400_drv_start...82...83 7.1 ps400_set_vring...83 7.2 ps400_set_mpg...85 7.3 ps400_cmptrig_config...86 7.4 ps400_set_int_factor...89 7.5 ps400_int_event_config...91 7.6 ps400_set_synch...92 7.7 ps400_synch_t_move_cfg...95 7.8 ps400_synch_s_move_cfg...97 不易 類...99 8.1 ps400_t_change_v...99 8.2 ps400_t_set_avtri...101 8.3 ps400_change_p...102 8.4 ps400_set_cmdcounter...103 8.5 ps400_set_position...104 PISO-PS400 4

狀...105 9.1 ps400_motion_done...105 9.2 ps400_get_cmdcounter...107 9.3 ps400_get_position...108 9.4 ps400_get_speed...109 9.5 ps400_get_acc...110 9.6 ps400_get_latch... 111 9.7 ps400_get_mdi_status...112 9.8 ps400_get_in3...113 9.9 ps400_get_int_status...114 9.10 ps400_get_error_status...115 FRNET I/O...116 10.1 ps400_scan_frnet_di...116 10.2 ps400_reset_frnet...118 10.3 ps400_config_frnet...119 10.4 ps400_get_frnet_di...120 10.5 ps400_set_frnet_do...122...123 PISO-PS400 5

CHAPTER 1 PISO-PS400 Microsoft Windows 2000 Windows XP WDM (Windows Driver Model) ANSI-C 類 例 (Version 3.0) 更精 流 ( 參 ) PISO-PS400(Card ID) 識 PISO-PS400(Dip-Switch) 來 識 PISO-PS400 Card ID 不 識 了 Microsoft Visual Studio 6.0 (Visual C++ Visual Basic) Borland C++ Builder 6.0 例來 例 (DN-8468G) 連 PISO-PS400 了 說 類 列 CHAPTER 2 CHAPTER 3 CHAPTER 4 立 CHAPTER 5 CHAPTER 6 CHAPTER 7 CHAPTER 8 不易 類 CHAPTER 9 狀 CHAPTER 10 FRnet I/O PISO-PS400 6

流 PISO-PS400 7

CHAPTER 2 2.1 了 PISO-PS400 識 Card ID Card ID 來 PISO-PS400 2.1.1 ps400_scan short ps400_scan(short* pcardnum, BYTE* pavailcards = NULL) ps400_scan(byref pcardnum As Interger, Optional pavailcards As Byte = 0) As Integer PISO-PS400. 參數 pcardnum 數 列 pavailcards Card ID PISO-PS400(1 0 不 ) 參數 不 不 pcardnum PISO-PS400 數 pavailcard 列 BYTE Card ID 都 PISO-PS400 例 PISO-PS400Card ID 3 5 7 pavailcard 列 { 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } PISO-PS400 8

SUCCESS_NO_ERROR 行 ERROR_NO_CARD_FOUND 不 PISO-PS400 ERROR_CARD_ID_DUPLICATED 兩 PISO-PS400Card ID ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) PISO-PS400 9

2.1.2 ps400_get_cardinfo short ps400_get_cardinfo(int ScannedIndex, BYTE* pcardid) ps400_get_cardinfo(byval ScannedIndex As Interger, ByRef pcardid As Byte) As Integer 索 PISO-PS400 Card ID ScannedIndexPISO-PS400 索 索 0 數 pcardid: PISO-PS400 Card ID SUCCESS_NO_ERROR 行 ERROR_NO_CARD_FOUND 不 PISO-PS400 ERROR_INVALID_SCANNED_INDEX 索 (ScannedIndex) 不 理 數 ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) PISO-PS400 10

2.1.3 ps400_open short ps400_open(byte bcardid) ps400_open(byval bcardid As Byte) As Integer Card ID PISO-PS400 行 ps400_close() Card ID PISO-PS400 ps400_open()ps400_scan() ps400_get_cardinfo()card ID bcardidpiso-ps400dip-switchcard ID SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_IOCTL_FAILED Range GetLastError() ERROR_DEVICE_OPEN PISO-PS400 PISO-PS400 ERROR_MEMORY_MAP 了 PISO-PS400 11

2.1.4 ps400_close short ps400_close(byte bcardid) ps400_close(byval bcardid As Byte) As Integer Card ID PISO-PS400PISO-PS400 bcardidpiso-ps400dip-switchcard ID SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_DEVICE_CLOSEPISO-PS400 ERROR_MEMORY_UNMAP 了 PISO-PS400 12

2.1.5 ps400_reset short ps400_reset(byte bcardid) ps400_reset(byval bcardid As Byte) As Integer PISO-PS400 都 PISO-PS400 bcardidpiso-ps400dip-switchcard ID SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_CARD_RESETPISO-PS400 GetLastError() PISO-PS400 13

2.1.6 ps400_open_all short ps400_open_all(void) ps400_open_all() As Integer PISO-PS400 行 PISO-PS400ps400_close_all() SUCCESS_NO_ERROR 行 ERROR_IOCTL_FAILED Range GetLastError() ERROR_DEVICE_OPEN PISO-PS400 PISO-PS400 ERROR_MEMORY_MAP 了 PISO-PS400 14

2.1.7 ps400_close_all short ps400_close_all(void) ps400_close_all() As Integer PISO-PS400PISO-PS400 SUCCESS_NO_ERROR 行 ERROR_DEVICE_CLOSEPISO-PS400 ERROR_MEMORY_UNMAP 了 PISO-PS400 15

2.1.8 ps400_reset_all short ps400_reset_all(void) ps400_reset_all() As Integer PISO-PS400 都 PISO-PS400 SUCCESS_NO_ERROR 行 ERROR_CARD_RESETPISO-PS400 GetLastError() PISO-PS400 16

2.2 PISO-PS400 來 / 更 ps400_set_range() PISO-PS400Range 度 度 率 精 度 2.2.1 ps400_set_pls_cfg short ps400_set_pls_cfg(byte bcardid, WORD waxis, WORD wpulsemode, WORD wpulselogic, WORD wdirectionlogic) ps400_set_pls_cfg(byval bcardid As Byte, ByVal waxis As Integer, ByVal wpulsemode As Integer, ByVal wpulselogic As Integer, ByVal wdirectionlogic As Integer) As Integer PISO-PS400 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U wpulsemode: PULSE_MODE_CW_CCW PULSE_MODE_PULSE_DIRECTION. wpulselogic: PULSE_LOGIC_ACTIVE_HIGH PULSE_LOGIC_ACTIVE_LOW wdirectionlogic: wpulsemode PULSE_MODE_ PULSE_DIRECTION 邏 PULSE_FORWARD_ACTIVE_HIGH PULSE_FORWARD_ACTIVE_LOW. wpulsemode PULSE_MODE_CW_CCW 略 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis PISO-PS400 17

ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_PULSE_MODE wpulsemode 不 PULSE_MODE_CW_CCW 不 PULSE_MODE_PULSE_DIRECTION ERROR_INVALID_PULSE_LEVEL: wpulselogic 不 PULSE_LOGIC_ACTIVE_HIGH 不 PULSE_LOGIC_ACTIVE_LOW ERROR_INVALID_PULSE_DIRECTION: wdirectionlogic 不 PULSE_FORWARD_ACTIVE_HIGH 不 PULSE_FORWARD_ACTIVE_LOW ERROR_PULSE_MODE_SET: GetLastError() PISO-PS400 18

2.2.2 ps400_set_enc_cfg short ps400_set_enc_cfg(byte bcardid, WORD waxis, WORD wencodermode, BYTE bcountersource = 0) (ByVal bcardid As Byte, ByVal waxis As Integer, ByVal wencodermode As Integer, Optional ByVal bcountersource As Byte = 0) As Integer PISO-PS400 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U wencodermode ENCODER_MODE_AB ENCODER_MODE_AB_DIVID_2 ENCODER_MODE_AB_DIVID_4 ENCODER_MODE_CW_CCW bcountersource: 留 來 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_ENCODER_MODE: wencodermode 參數 不 ERROR_ENCODER_MODE_SET: GetLastError() PISO-PS400 19

2.2.3 ps400_set_limit short ps400_set_limit(byte bcardid, WORD waxis, WORD wlimitlogic, WORD wstopmode = LIMIT_STOP_SUDDEN) ps400_set_limit(byval bcardid As Byte, ByVal waxis As Integer, ByVal wlimitlogic As Integer, Optional ByVal wstopmode As Integer = LIMIT_STOP_SUDDEN) As Integer 來 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U wlimitlogic LIMIT_LOGIC_ACTIVE_HIGH LIMIT_LOGIC_ACTIVE_LOW. wstopmode LIMIT_STOP_SUDDEN LIMIT_STOP_SLOWDOWN 不 LIMIT_STOP_SUDDEN SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_LIMIT_LOGIC wlimitlogic 不 LIMIT_LOGIC_ACTIVE_HIGH 不 LIMIT_LOGIC_ACTIVE_LOW ERROR_INVALID_STOP_MODE: wstopmode 不 LIMIT_STOP_SUDDEN 不 LIMIT_STOP_SLOWDOWN ERROR_LIMIT_SENSOR_SET: GetLastError() PISO-PS400 20

2.3 () 來 / INP ALARM ps400_set_filter() 濾 濾 PISO-PS400ps400_set_softlimit() PISO-PS400 ps400_load_config()pcezgo PS400_Config.iniPISO-PS400 2.3.1 ps400_set_range short ps400_set_range(byte bcardid, WORD waxis, DWORD dwrange) ps400_set_range(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwrange As Long) As Integer 更 Range 更 度 度 率 精 度 Range 度 / 度 / 率 利 ps400_get_range_settings() 度 / 度 / 率 度 / 度 / 率 Range bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U PISO-PS400 21

dwrange Range (16,000 ~ 8,000,000) SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_RANGE Range ERROR_RANGE_CHANGERange GetLastError() PISO-PS400 22

2.3.2 ps400_get_range_settings short ps400_get_range_settings(byte bcardid, WORD waxis, AXIS_RANGE_SETTINGS* paxisrangesetting) ps400_get_range_settings(byval bcardid As Byte, ByVal waxis As Integer, ByRef paxisrangesetting As AXIS_RANGE_SETTINGS) As Integer Range 度 / 度 / 率 參 Set_Range 例 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U paxisrangesetting 度 / 度 / 率 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) PISO-PS400 23

2.3.3 ps400_set_inp short ps400_set_inp(byte bcardid, WORD waxis, WORD winpenable, WORD winplogic) ps400_set_inp(byval bcardid As Byte, ByVal waxis As Integer, ByVal winpenable As Integer, ByVal winplogic As Integer) As Integer 來 / INP INP INP_DISABLE_FEATURE ps400_set_inp() INP bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U winpenable/ INP INP_ENABLE_FEATURE INP_DISABLE_FEATURE winplogic INP INP_LOGIC_ACTIVE_HIGH INP_LOGIC_ACTIVE_LOW 參數 winplogic 不 ps400_motion_done() MOTION_DONE PCEzGo.exe SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_INP_ENABLE: winpenable 不 INP_ENABLE_FEATURE 不 INP_DISABLE_FEATURE ERROR_INVALID_INP_LOGIC_LEVEL: winplogic 不 INP_LOGIC_ACTIVE_HIGH 不 INP_LOGIC_ACTIVE_LOW ERROR_INP_SIGNAL_SET: INPGetLastError() PISO-PS400 24

2.3.4 ps400_set_alarm short ps400_set_alarm(byte bcardid, WORD waxis, WORD walarmenable, WORD walarmlogic) ps400_set_alarm(byval bcardid As Byte, ByVal waxis As Integer, ByVal walarmenable As Integer, ByVal walarmlogic As Integer) As Integer 來 / ALARM ALARM ALARM_DISABLE_FEATURE ps400_set_alarm() ALARM bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U walarmenable/ ALARM ALARM_ENABLE_FEATURE ALARM_DISABLE_FEATURE walarmlogic ALARM ALARM_LOGIC_ACTIVE_HIGH ALARM_LOGIC_ACTIVE_LOW SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_ALARM_ENABLE: walarmenable 不 ALARM_ENABLE_FEATURE 不 ALARM_DISABLE_FEATURE ERROR_INVALID_ALARM_LOGIC_LEVEL: walarmlogic 不 ALARM_LOGIC_ACTIVE_HIGH 不 ALARM_LOGIC_ACTIVE_LOW ERROR_ALARM_SIGNAL_SET: ALARM GetLastError() PISO-PS400 25

2.3.5 ps400_set_filter short ps400_set_filter(byte bcardid, WORD waxis, WORD wfilterenable, WORD wfiltercfg, WORD wdelaytime) ps400_set_filter(byval bcardid As Byte, ByVal waxis As Integer, ByVal wfilterenable As Integer, ByVal wfiltercfg As Integer, ByVal wdelaytime As Integer) As Integer 來 / 數 濾 參 數 FILTER_ DISABLE_FEATURE ps400_set_filter() 數 濾 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U wfilterenable/ 數 濾 FILTER_ENABLE_FEATURE FILTER_DISABLE_FEATURE wfiltercfg: 來 濾 理 數 利 OR ( ) 列 FILTER_CFG_EMG_EL_ORG_NORG (EMG ) FILTER_CFG_ENCODER_Z_PHASE ( Z- /INDEX ) FILTER_CFG_INP_ALARM (INP ALARM ) FILTER_CFG_EXP_EXPLSN ( 輪 ) FILTER_CFG_IN3 (IN3) wdelaytime: 濾 ( ): FILTER_DELAY_2us FILTER_DELAY_256us FILTER_DELAY_512us FILTER_DELAY_1024us FILTER_DELAY_2048us FILTER_DELAY_4096us FILTER_DELAY_8192us FILTER_DELAY_16384us SUCCESS_NO_ERROR 行 PISO-PS400 26

ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_FILTER_ENABLE wfilterenable 不 FILTER_ENABLE_FEATURE 不 FILTER_DISABLE_FEATURE ERROR_INVALID_FILTER_CONFIGURATION wfiltercfg 參數 不 數 ERROR_INVALID_FILTER_DELAY_TIME: 參數 wdelaytime 不 ERROR_FILTER_SET: 數 濾 GetLastError() PISO-PS400 27

2.3.6 ps400_set_softlimit short ps400_set_softlimit(byte bcardid, WORD waxis, WORD wswlimitenable, WORD wcmpsource, long LimitPositive, long LimitNegaitive) ps400_set_softlimit(byval bcardid As Byte, ByVal waxis As Integer, ByVal wswlimitenable As Integer, ByVal wcmpsource As Integer, ByVal LimitPositive As Long, ByVal LimitNegaitive As Long) As Integer PISO-PS400 數 數 數 行 SW_LIMIT_DISABLE_FEATURE ps400_set_softlimit() bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U wswlimitenable/ 數 濾 SW_LIMIT_ENABLE_FEATURE SW_LIMIT_DISABLE_FEATURE wcmpsource 參 數 CMP_SRC_LOGIC_COMMAND CMP_SRC_ENCODER_POSITION LimitPositive LimitNegaitive SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_SOFTWARE_LIMIT_ENABLE wswlimitenable 不 SW_LIMIT_ENABLE_FEATURE 不 SW_LIMIT_DISABLE_FEATURE ERROR_INVALID_SOFTWARE_LIMIT_COMPARATOR_SOURCE wcmpsource 參數 不 CMP_SRC_LOGIC_COMMAND 不 CMP_SRC_ENCODER_POSITION PISO-PS400 28

ERROR_CONFLICT_WITH_VRING 狀 數 (Variable-Ring counter) ps400_set_vring() 狀 數 ERROR_CONFLICT_WITH_CMPTRIG: (Compare & Trigger) ps400_cmptrig_config() Compare & Trigger ERROR_CONFLICT_WITH_SYNCH_ACTION: ps400_set_synch() ERROR_SW_LIMIT_SET: GetLastError() PISO-PS400 29

2.3.7 ps400_load_config short ps400_load_config(char* FileName = NULL) ps400_load_config(optional ByRef FileName As Byte = &H0) As Integer PCEzGoPS400_Config.iniPISO-PS400 ps400_open_all() 行 PS400_Config.ini PCEzGO.exe 不 列 PISO-PS400 ps400_set_pls_cfg ps400_set_enc_cfg ps400_set_limit ps400_set_softlimit ps400_set_inp ps400_set_alarm ps400_set_filter FileName 串 不 路 / Windows 錄 system32/ps400_config.ini 參數 串 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不. ERROR_CONFIG_FILE_LOAD ERROR_CONFLICT_IN_CONFIG_FILE PISO-PS400 Card ID 錄 ERROR_INVALID_FILE_HANDLE 錄 PISO-PS400 file-handle ps400_open_all() 行 參 列 ps400_set_pls_cfg ps400_set_enc_cfg ps400_set_limit ps400_set_softlimit ps400_set_inp ps400_set_alarm ps400_set_filter PISO-PS400 30

2.3.8 ps400_servo_on short ps400_servo_on(byte bcardid, WORD waxis, BYTE bservoon, BYTE bautooff) ps400_servo_on(byval bcardid As Byte, ByVal waxis As Integer, ByVal bservoon As Byte, ByVal bautooff As Byte) As Integer / bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U bservoon: (SERVO_ON ) (SERVO_OFF) bautooff: ps400_close() ps400_close_all() SERVO_AUTO_OFF SERVO_MANUAL_OFF SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_SERVO_SETTING bservoon 不 SERVO_ON 不 SERVO_OFF ERROR_SERVO_ON_SET/ GetLastError() PISO-PS400 31

CHAPTER 3 (NORG)(ORG) Z- /INDEX 利 PISO-PS400 (ORG) 3.1 ps400_set_home_cfg short ps400_set_home_cfg(byte bcardid, WORD waxis, WORD whomelogic, WORD wnhomelogic, WORD windexlogic, WORD whomesteps, DWORD dwstep4offset) ps400_set_home_cfg(byval bcardid As Byte, ByVal waxis As Integer, ByVal whomelogic As Integer, ByVal wnhomelogic As Integer, ByVal windexlogic As Integer, ByVal whomesteps As Integer, ByVal dwstep4offset As Long) As Integer PISO-PS400 32

來 (NORG)(ORG) Z- /INDEX bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U whomelogic HOME_LOGIC_ACTIVE_HIGH HOME_LOGIC_ACTIVE_LOW wnhomelogic NHOME_LOGIC_ACTIVE_HIGH NHOME_LOGIC_ACTIVE_LOW windexlogic Z- /INDEX INDEX_LOGIC_ACTIVE_HIGH INDEX_LOGIC_ACTIVE_LOW whomesteps 行 利 OR ( ) 參數 AUTO_HOME_STEP1_FORWARD (NORG) AUTO_HOME_STEP1_REVERSE (NORG) AUTO_HOME_STEP1_DISABLE 不 AUTO_HOME_STEP2_FORWARD (ORG) AUTO_HOME_STEP2_REVERSE (ORG) AUTO_HOME_STEP2_DISABLE 不 AUTO_HOME_STEP3_FORWARD Z- /INDEX AUTO_HOME_STEP3_REVERSE Z- /INDEX AUTO_HOME_STEP3_DISABLE 不 AUTO_HOME_STEP4_FORWARD (dwstep4offset) AUTO_HOME_STEP4_REVERSE (dwstep4offset) AUTO_HOME_STEP4_DISABLE 不 whomesteps AUTO_HOME_STEP1_FORWARD/AUTO_HOME_STEP1_REVERSE AUTO_HOME_STEP2_FORWARD/AUTO_HOME_STEP2_REVERSE dwstep4offset 量 PISO-PS400 33

SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_HOME_LOGIC_LEVEL whomelogic 不 HOME_LOGIC_ACTIVE_HIGH 不 HOME_LOGIC_ACTIVE_LOW ERROR_INVALID_NEAR_HOME_LOGIC_LEVEL wnhomelogic 不 NHOME_LOGIC_ACTIVE_HIGH 不 NHOME_LOGIC_ACTIVE_LOW ERROR_INVALID_INDEX_LOGIC_LEVEL windexlogic 不 INDEX_LOGIC_ACTIVE_HIGH 不 INDEX_LOGIC_ACTIVE_LOW ERROR_INVALID_AUTO_HOME_STEP: whomesteps 參數 ERROR_HOME_CFG_SET GetLastError() PISO-PS400 34

3.2 ps400_home_start short ps400_home_start(byte bcardid, WORD waxis, DWORD dwstartspeed, DWORD dwacceleration, DWORD dwdeceleration, DWORD dwnhomesearchspeed, DWORD dwhomesearchspeed, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_home_start(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwstartspeed As Long, ByVal dwacceleration As Long, ByVal dwdeceleration As Long, ByVal dwnhomesearchspeed As Long, ByVal dwhomesearchspeed As Long, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer 度 度 / 度 度 度 bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed 度 dwacceleration 度 dwdeceleration 度 dwnhomesearchspeed (NORG) 度 dwhomesearchspeed (ORG) 度 wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 裡 BLOCK_OPERATION 行 例 參數 wblockmode ENABLE_BLOCK_OPEARTION ps400_home_start() SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 PISO-PS400 35

ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_INVALID_HOME_SEARCH_SPEED dwhomesearchspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwnhomesearchspeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwnhomesearchspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DECELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_CONFIG_IS_NEEDED ps400_set_home_cfg() ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z ERROR_OCCURS_IN_AXIS_U runtime error AXIS_X AXIS_Y AXIS_Z AXIS_U ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_START_HOMEGetLastError() PISO-PS400 36

CHAPTER 4 立 立 連 度 (velocity-move) S- 4.1 ps400_velocity_move short ps400_velocity_move(byte bcardid, WORD waxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwacceleration, BYTE bdirection) ps400_velocity_move(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwacceleration As Long, ByVal bdirection As Byte) As Integer 度 (speed-mode) dwdrivespeed 度連 ps400_stop_move() bcardidpiso-ps400dip-switchcard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed 度 dwdrivespeed 度 dwacceleration 度 bdirection 度 (speed-mode) MOVE_DIRECTION_FORWARD or MOVE_DIRECTION_REVERSE PISO-PS400 37

SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_MOVE_DIRECTION bdirection 不 MOVE_DIRECTION_FORWARD 不 MOVE_DIRECTION_REVERSE ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z ERROR_OCCURS_IN_AXIS_U runtime error AXIS_X AXIS_Y AXIS_Z AXIS_U ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_CONTI_MOVE_START 度 GetLastError() PISO-PS400 38

4.2 ps400_const_move short ps400_const_move(byte bcardid, WORD waxis, DWORD dwdrivespeed, long FixedPulse) ps400_const_move(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwdrivespeed As Long, ByVal FixedPulse As Long) As Integer 度 (point-to-point) 令不 bcardidpiso-ps400 Dip-SwitchCard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U dwdrivespeed 度 FixedPulse 數 32-bits 數 (long) 零 數 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z ERROR_OCCURS_IN_AXIS_U runtime error AXIS_X AXIS_Y AXIS_Z AXIS_U ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_CONST_MOVE_STARTGetLastError() PISO-PS400 39

4.3 ps400_const_moveall short ps400_const_moveall(byte bcardid, WORD waxis, DWORD dwdrivespeed[], long FixedPulse[]) ps400_const_moveall(byval bcardid As Byte, ByVal waxes As Integer, dwdrivespeed As Long, FixedPulse As Long) As Integer 度 (point-to-point) 令不 bcardidpiso-ps400 Dip-SwitchCard ID waxes OR (I) AXIS_X AXIS_Y AXIS_Z AXIS_U dwdrivespeed[] 度 列 FixedPulse[] 數 列 列 32-bits 數 (long) 零 數 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxes 不 ERROR_INVALID_DRIVING_SPEED dwdrivespeed[] 列 度 參 ps400_set_range() ps400_get_range_settings() ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU, ERROR_OCCURS_IN_AXIS_XYZU runtime error AXIS_xxxx ps400_get_error_status() 狀 PISO-PS400 40

ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_CONST_MOVE_STARTGetLastError() PISO-PS400 41

4.4 ps400_t_move short ps400_t_move(byte bcardid, WORD waxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwacceleration, DWORD dwdeceleration, long FixedPulse, short wacccntoffset = 0) ps400_t_move(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwacceleration As Long, ByVal dwdeceleration As Long, ByVal FixedPulse As Long, Optional ByVal wacccntoffset As Integer = 0) As Integer (point-to-point) bcardidpiso-ps400 Dip-SwitchCard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed 度 dwdrivespeed 度 dwacceleration 度 dwdeceleration 度 FixedPulse 數 32-bits 數 (long) 零 數 wacccntoffset 0 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() PISO-PS400 42

ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ DECELERATION dwdeceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() dwacceleration > dwdeceleration 列 dwdeceleration > (dwacceleration x dwdrivespeed) / 4,000,000. ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z ERROR_OCCURS_IN_AXIS_U runtime error AXIS_X AXIS_Y AXIS_Z AXIS_U ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_T_MOVE_STARTGetLastError() PISO-PS400 43

4.5 ps400_t_moveall short ps400_t_moveall(byte bcardid, WORD waxes, DWORD dwstartspeed[], DWORD dwdrivespeed[], DWORD dwacceleration[], DWORD dwdeceleration[], long FixedPulse[], short wacccntoffset[] = NULL) ps400_t_moveall (ByVal bcardid As Byte, ByVal waxes As Integer, ByRef dwstartspeed As Long, ByRef dwdrivespeed As Long, ByRef dwacceleration As Long, ByRef dwdeceleration As Long, ByRef FixedPulse As Long, Optional ByRef wacccntoffset As Integer = 0) As Integer (point-to-point) bcardidpiso-ps400 Dip-SwitchCard ID waxes OR (I) AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed[] 度 列 dwdrivespeed[] 度 列 dwacceleration[] 度 列 dwdeceleration[] 度 列 FixedPulse[] 數 列 列 32-bits 數 (long) 零 數 wacccntoffset[]: 列 參數 串 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxes 不 ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed[] 列 度 dwdrivespeed[] 列 度 ERROR_INVALID_START_SPEED dwstartspeed[] 列 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() PISO-PS400 44

ERROR_INVALID_ACCELERATION dwacceleration[] 列 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ DECELERATION dwdeceleration[] 列 度 參 ps400_set_range() ps400_get_range_settings() dwacceleration[i] > dwdeceleration[i] 列 dwdeceleration[i] > (dwacceleration[i] x dwdrivespeed[i]) / 4,000,000. ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU, ERROR_OCCURS_IN_AXIS_XYZU runtime error AXIS_xxxx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_T_MOVE_STARTGetLastError() PISO-PS400 45

4.6 ps400_s_move short ps400_t_move(byte bcardid, WORD waxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwaccelerationrate, DWORD DWORD dwdecelerationrate, long FixedPulse, short wacccntoffset = 0) ps400_t_move(byval bcardid As Byte, ByVal waxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwaccelerationrate As Long, ByVal dwdecelerationrate As Long, ByVal FixedPulse As Long, Optional ByVal wacccntoffset As Integer = 0) As Integer S- (point-to-point) bcardidpiso-ps400 Dip-SwitchCard ID waxis AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed S- 度 dwdrivespeed S- 度 dwaccelerationrate S- 度 率 度 dwdecelerationrate S- 度 率 度 FixedPulse 數 32-bits 數 (long) 零 數 wacccntoffset 0 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 waxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxis 不 ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() PISO-PS400 46

ERROR_INVALID_JERK dwaccelerationrate 參數 度 率 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DECELERATION_RATE dwdecelerationrate 參數 度 率 參 ps400_set_range() ps400_get_range_settings() ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z ERROR_OCCURS_IN_AXIS_U runtime error AXIS_X AXIS_Y AXIS_Z AXIS_U ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_S_MOVE_STARTS-GetLastError() PISO-PS400 47

4.7 ps400_s_moveall short ps400_s_moveall(byte bcardid, WORD waxes, DWORD dwstartspeed[], DWORD dwdrivespeed[], DWORD dwaccelerationrate[], DWORD dwdecelerationrate[], long FixedPulse[], short wacccntoffset[] = NULL) ps400_s_moveall(byval bcardid As Byte, ByVal waxes As Integer, ByRef dwstartspeed As Long, ByRef dwdrivespeed As Long, ByRef dwaccelerationrate As Long, ByRef dwdecelerationrate As Long, ByRef FixedPulse As Long, Optional ByRef wacccntoffset As Integer = 0) As Integer S- (point-to-point) bcardidpiso-ps400 Dip-SwitchCard ID waxes OR (I) AXIS_X AXIS_Y AXIS_Z AXIS_U dwstartspeed[]s- 度 列 dwdrivespeed[]s- 度 列 dwaccelerationrate[]s- 度 率 列 度 dwdecelerationrate[]s- 度 率 列 度 FixedPulse[] 數 列 列 32-bits 數 (long) 零 數 wacccntoffset[]: 列 參數 串 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_NO_VALID_AXIS_ASSIGNED 參數 waxes 不 ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed[] 列 度 dwdrivespeed[] 列 度 ERROR_INVALID_START_SPEED dwstartspeed[] 列 度 參 ps400_set_range() ps400_get_range_settings() PISO-PS400 48

ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_JERK dwaccelerationrate[] 列 度 率 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DECELERATION_RATE dwdecelerationrate[] 列 度 率 參 ps400_set_range() ps400_get_range_settings() ERROR_ACCESS_VIOLATION_DATA_COPY 行 料 例 (System Exception) ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU, ERROR_OCCURS_IN_AXIS_XYZU runtime error AXIS_xxxx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_S_MOVE_STARTS-GetLastError() PISO-PS400 49

CHAPTER 5 5.1 連 / S- 5.1.1 ps400_t_line2_move short ps400_t_line2_move(byte bcardid, WORD wmainaxis, WORD wslaveaxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwacceleration, DWORD dwdeceleration, long MainAxisFinishPoint, long SlaveAxisFinishPoint, short wacccntoffset = 0, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_t_line2_move(byval bcardid As Byte, ByVal wmainaxis As Integer, ByVal wslaveaxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwacceleration As Long, ByVal dwdeceleration As Long, ByVal MainAxisFinishPoint As Long, ByVal SlaveAxisFinishPoint As Long, Optional ByVal wacccntoffset As Integer = 0, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis AXIS_X AXIS_Y AXIS_Z AXIS_U PISO-PS400 50

wslaveaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis dwstartspeed 度 度 dwdrivespeed 度 度 dwacceleration 度 度 dwdeceleration 度 度 MainAxisFinishPoint 零 數 SlaveAxisFinishPoint 零 數 wacccntoffset 8 wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ DECELERATION dwdeceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() PISO-PS400 51

dwacceleration > dwdeceleration 列 dwdeceleration > (dwacceleration x dwdrivespeed) / 4,000,000. ERROR_INTERPOLATION_NOT_COMPLETE: ERROR_REASSIGN_SYNCH_MODE_COMMAND 行 了 ENABLE_BLOCK_OPEARTION ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU runtime error AXIS_xx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_T_LINE2_STARTGetLastError() PISO-PS400 52

5.1.2 ps400_s_line2_move short ps400_s_line2_move(byte bcardid, WORD wmainaxis, WORD wslaveaxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwaccelerationrate, DWORD dwdecelerationrate, long MainAxisFinishPoint, long SlaveAxisFinishPoint, short wacccntoffset = 0, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_s_line2_move(byval bcardid As Byte, ByVal wmainaxis As Integer, ByVal wslaveaxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwaccelerationrate As Long, ByVal dwdecelerationrate As Long, ByVal MainAxisFinishPoint As Long, ByVal SlaveAxisFinishPoint As Long, Optional ByVal wacccntoffset As Integer = 0, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer S- bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis AXIS_X AXIS_Y AXIS_Z AXIS_U wslaveaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis dwstartspeed S- 度 度 dwdrivespeed S- 度 度 dwaccelerationrate S- 度 率 度 率 dwdecelerationrate S- 度 率 度 率 MainAxisFinishPoint 零 數 SlaveAxisFinishPoint 零 數 wacccntoffset 8 wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 PISO-PS400 53

SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_JERK dwaccelerationrate 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DECELERATION_RATE dwdecelerationrate 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_INTERPOLATION_NOT_COMPLETE: ERROR_REASSIGN_SYNCH_MODE_COMMAND 行 了 ENABLE_BLOCK_OPEARTION ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU runtime error AXIS_xx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() PISO-PS400 54

ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_S_LINE2_STARTS-GetLastError() PISO-PS400 55

5.1.3 ps400_t_line3_move short ps400_t_line3_move(byte bcardid, WORD wmainaxis, WORD wsecondaxis, WORD wthirdaxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwacceleration, DWORD dwdeceleration, long MainAxisFinishPoint, long SecondAxisFinishPoint, long ThirdAxisFinishPoint, short wacccntoffset = 0, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_t_line3_move(byval bcardid As Byte, ByVal wmainaxis As Integer, ByVal wsecondaxis As Integer, ByVal wthirdaxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwacceleration As Long, ByVal dwdeceleration As Long, ByVal MainAxisFinishPoint As Long, ByVal SecondAxisFinishPoint As Long, ByVal ThirdAxisFinishPoint As Long, Optional ByVal wacccntoffset As Integer = 0, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis AXIS_X AXIS_Y AXIS_Z AXIS_U wsecondaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wthirdaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wsecondaxis dwstartspeed 度 度 dwdrivespeed 度 度 dwacceleration 度 度 dwdeceleration 度 度 MainAxisFinishPoint 零 數 SecondAxisFinishPoint 零 數 ThirdAxisFinishPoint 零 數 wacccntoffset 8 PISO-PS400 56

wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_INTERPOLATION_SLAVE_AXES_DUPLICATED 參數 wsecondaxis 參數 wthirdaxis ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ DECELERATION dwdeceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() dwacceleration > dwdeceleration 列 dwdeceleration > (dwacceleration x dwdrivespeed) / 4,000,000. ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_INTERPOLATION_NOT_COMPLETE: ERROR_REASSIGN_SYNCH_MODE_COMMAND 行 了 ENABLE_BLOCK_OPEARTION ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, PISO-PS400 57

ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU runtime error AXIS_xx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_T_LINE3_STARTGetLastError() PISO-PS400 58

5.1.4 ps400_s_line3_move short ps400_s_line3_move(byte bcardid, WORD wmainaxis, WORD wsecondaxis, WORD wthirdaxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwaccelerationrate, DWORD dwdecelerationrate, long MainAxisFinishPoint, long SecondAxisFinishPoint, long ThirdAxisFinishPoint, short wacccntoffset = 0, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_s_line3_move(byval bcardid As Byte, ByVal wmainaxis As Integer, ByVal wsecondaxis As Integer, ByVal wthirdaxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwaccelerationrate As Long, ByVal dwdecelerationrate As Long, ByVal MainAxisFinishPoint As Long, ByVal SecondAxisFinishPoint As Long, ByVal ThirdAxisFinishPoint As Long, Optional ByVal wacccntoffset As Integer = 0, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer S- bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis AXIS_X AXIS_Y AXIS_Z AXIS_U wsecondaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wthirdaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wsecondaxis dwstartspeed S- 度 度 dwdrivespeed S- 度 度 dwaccelerationrate S- 度 率 度 率 dwdecelerationrate S- 度 率 度 率 MainAxisFinishPoint 零 數 SecondAxisFinishPoint 零 數 PISO-PS400 59

ThirdAxisFinishPoint 零 數 wacccntoffset 8 wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_INTERPOLATION_SLAVE_AXES_DUPLICATED 參數 wsecondaxis 參數 wthirdaxis ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_JERK dwaccelerationrate 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DECELERATION_RATE dwdecelerationrate 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_INTERPOLATION_NOT_COMPLETE: ERROR_REASSIGN_SYNCH_MODE_COMMAND 行 了 ENABLE_BLOCK_OPEARTION ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, PISO-PS400 60

ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU runtime error AXIS_xxx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_S_LINE3_STARTS-GetLastError() PISO-PS400 61

5.1.5 ps400_t_arc2_move short ps400_t_arc2_move(byte bcardid, WORD wmainaxis, WORD wslaveaxis, DWORD dwstartspeed, DWORD dwdrivespeed, DWORD dwacceleration, WORD warcdirection, long MainAxisCenterPoint, long SlaveAxisCenterPoint, long MainAxisFinishPoint, long SlaveAxisFinishPoint, short wacccntoffset = 0, WORD wblockmode = DISABLE_BLOCK_OPEARTION) ps400_t_arc2_move (ByVal bcardid As Byte, ByVal wmainaxis As Integer, ByVal wslaveaxis As Integer, ByVal dwstartspeed As Long, ByVal dwdrivespeed As Long, ByVal dwacceleration As Long, ByVal warcdirection As Integer, ByVal MainAxisCenterPoint As Long, ByVal SlaveAxisCenterPoint As Long, ByVal MainAxisFinishPoint As Long, ByVal SlaveAxisFinishPoint As Long, Optional ByVal wacccntoffset As Integer = 0, Optional ByVal wblockmode As Integer = DISABLE_BLOCK_OPEARTION) As Integer [ ( 度 = 度 ) 參數 MainAxisCenterPoint SlaveAxisCenterPoint 參數 MainAxisFinishPoint SlaveAxisFinishPoint 路 1 路 bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis AXIS_X AXIS_Y AXIS_Z AXIS_U wslaveaxis AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis dwstartspeed 度 度 dwdrivespeed 度 度 dwacceleration 度 度 warcdirection INTERP_ARC_DIRECTION_CLOCKWISE INTERP_ARC_DIRECTION_COUNTER_CLOCKWISE MainAxisCenterPoint 零 數 PISO-PS400 62

SlaveAxisCenterPoint 零 數 MainAxisFinishPoint 零 數 SlaveAxisFinishPoint 零 數 wacccntoffset 8 wblockmode DISABLE_BLOCK_OPEARTION ENABLE_BLOCK_OPEARTION DISABLE_BLOCK_OPEARTION 立 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_ARC_DIRECTION warcdirection 不 INTERP_ARC_DIRECTION_CLOCKWISE 不 INTERP_ARC_DIRECTION_COUNTER_CLOCKWISE ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_INVALID_BLOCK_OPEARTION_MODE wblockmode 不 DISABLE_BLOCK_OPEARTION 不 ENABLE_BLOCK_OPEARTION ERROR_START_SPEED_EXCEED_DRIVING_SPEED dwstartspeed 度 dwdrivespeed 度 ERROR_INVALID_START_SPEED dwstartspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_DRIVING_SPEED dwdrivespeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INVALID_ACCELERATION dwacceleration 參數 度 參 ps400_set_range() ps400_get_range_settings() ERROR_ARC_DECELERATION_POINT_CALCULATE 來 PISO-PS400 63

ERROR_BLOCK_OP_CONFLICT_WITH_CMPTRIG wblockmode 參數 不 Compare & Trigger ps400_cmptrig_config() Compare & Trigger ERROR_INTERPOLATION_NOT_COMPLETE ERROR_REASSIGN_SYNCH_MODE_COMMAND 行 了 ENABLE_BLOCK_OPEARTION ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU runtime error AXIS_xx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_BLOCK_OP_CONFLICT_WITH_DRV_HOLD ps400_drv_start() ERROR_OVERLAP_EVENT_CREATE Event GetLastError() ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_ T_ARC2_STARTGetLastError() PISO-PS400 64

PISO-PS400 65

5.2 連 連 連 不 連 量 度 (Constant Vector-Speed) 連 ps400_conti_interp_begin() 參 連 ps400_conti_interp_end() ps400_conti_interp_begin() 連 ps400_conti_interp_end() ps400_conti_interp_begin() 行 都 參 參 量 度 了 連 行 ps400_conti_interp_next_ready() 來 連 來不 了 wcontiinterpmovemode INTERP_CONTINUE_START 連 連 流 參 Conti_Interp 例 PISO-PS400 66

連 流 PISO-PS400 67

5.2.1 ps400_conti_interp_begin short ps400_conti_interp_begin(byte bcardid, WORD wmainaxis, WORD wsecondaxis, WORD wthirdaxis, DWORD dwconstspeed) ps400_conti_interp_begin(byval bcardid As Byte, ByVal wmainaxis As Integer, ByVal wsecondaxis As Integer, ByVal wthirdaxis As Integer, ByVal dwconstspeed As Long) As Integer 來 參 連 量 度 bcardidpiso-ps400 Dip-SwitchCard ID wmainaxis 連 AXIS_X AXIS_Y AXIS_Z AXIS_U wsecondaxis 連 AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wthirdaxis 連 AXIS_X AXIS_Y AXIS_Z AXIS_U 不 wmainaxis wsecondaxis dwconstspeed 連 量 度 度不 2,000,000 PPS SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_MULTI_AXES_ASSIGNED 兩 參數 wmainaxis wslaveaxis ERROR_NO_VALID_AXIS_ASSIGNED 參數 wmainaxis wslaveaxiss 不 ERROR_INVALID_INTERPOLATION_SLAVE_AXES 參數 wslaveaxis wmainaxis 參數 ERROR_INTERPOLATION_SLAVE_AXES_DUPLICATED 參數 wsecondaxis 參數 wthirdaxis ERROR_INVALID_DRIVING_SPEED dwconstspeed 度 參 ps400_set_range() ps400_get_range_settings() ERROR_INTERPOLATION_NOT_COMPLETE ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, PISO-PS400 68

ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, ERROR_OCCURS_IN_AXIS_ZU, ERROR_OCCURS_IN_AXIS_XYZ, ERROR_OCCURS_IN_AXIS_XYU, ERROR_OCCURS_IN_AXIS_XZU, ERROR_OCCURS_IN_AXIS_YZU runtime error AXIS_xxx ps400_get_error_status() 狀 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() ERROR_CONFLICT_WITH_MPG 輪 ps400_set_mpg() 輪 ERROR_AXES_MOVE_CHECK 令 GetLastError() ERROR_S_LINE3_STARTS-GetLastError() ERROR_INVALID_RANGE Range Range ERROR_RANGE_CHANGE Range GetLastError() ERROR_CONTI_INTERP_SET 連 GetLastError() PISO-PS400 69

5.2.2 ps400_conti_interp_next_ready short ps400_conti_interp_next_ready(byte bcardid, BYTE *pready) ps400_conti_interp_next_ready(byval bcardid As Byte, ByRef pready As Byte) As Integer bcardidpiso-ps400 Dip-SwitchCard ID pready 狀 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_CONFIG_IS_NEEDED 連 ps400_conti_interp_begin () 連 ERROR_CONTI_INTERP_NEXT_READY GetLastError() PISO-PS400 70

5.2.3 ps400_conti_line2_move short ps400_conti_line2_move(byte bcardid, long MainAxisFinishPoint, long SlaveAxisFinishPoint, WORD wcontiinterpmovemode) ps400_conti_line2_move(byval bcardid As Byte, ByVal MainAxisFinishPoint As Long, ByVal SlaveAxisFinishPoint As Long, ByVal wcontiinterpmovemode As Integer) As Integer 連 量 度 bcardidpiso-ps400 Dip-SwitchCard ID MainAxisFinishPoint 連 零 數 SlaveAxisFinishPoint 連 零 數 wcontiinterpmovemode INTERP_CONTINUE_START 連 INTERP_NEXT_CONTINUOUS_MOTION 連 連 來不 了 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_CONFIG_IS_NEEDED 連 ps400_conti_interp_begin () 連 ERROR_INVALID_CONTINUE_INTERPOLATION_MOTION wcontiinterpmovemode 參數 不 INTERP_CONTINUE_START 不 INTERP_NEXT_CONTINUOUS_MOTION ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, ERROR_OCCURS_IN_AXIS_U, ERROR_OCCURS_IN_AXIS_XY, ERROR_OCCURS_IN_AXIS_XZ, ERROR_OCCURS_IN_AXIS_YZ, ERROR_OCCURS_IN_AXIS_XU, ERROR_OCCURS_IN_AXIS_YU, PISO-PS400 71

ERROR_OCCURS_IN_AXIS_ZU runtime error AXIS_xx ps400_get_error_status() 狀 ERROR_CONTI_INTERP_INTERRUPTED 連 來不 了 wcontiinterpmovemode INTERP_CONTINUE_START 連 ERROR_MOTION_NOT_COMPLETE ps400_stop_move() wcontiinterpmovemode 參數 INTERP_CONTINUE_START ERROR_CONTI_INTERP_NEXT_NOT_READY PISO-PS400 ps400_conti_interp_next_ready() ERROR_CONTI_INTERP_LINE2_MOVE 量 度 GetLastError() PISO-PS400 72

5.2.3 ps400_conti_line3_move short ps400_conti_line3_move(byte bcardid, long MainAxisFinishPoint, long SecondAxisFinishPoint, long ThirdAxisFinishPoint, WORD wcontiinterpmovemode) ps400_conti_line3_move(byval bcardid As Byte, ByVal MainAxisFinishPoint As Long, ByVal SecondAxisFinishPoint As Long, ByVal ThirdAxisFinishPoint As Long, ByVal wcontiinterpmovemode As Integer) As Integer 連 量 度 bcardidpiso-ps400 Dip-SwitchCard ID MainAxisFinishPoint 連 零 數 SecondAxisFinishPoint 連 零 數 ThirdAxisFinishPoint 連 零 數 wcontiinterpmovemode INTERP_CONTINUE_START 連 INTERP_NEXT_CONTINUOUS_MOTION 連 連 來不 了 SUCCESS_NO_ERROR 行 ERROR_INVALID_CARD_IDCard ID 不 PISO-PS400 ERROR_CONFIG_IS_NEEDED 連 ps400_conti_interp_begin () 連 ERROR_INVALID_CONTINUE_INTERPOLATION_MOTION wcontiinterpmovemode 參數 不 INTERP_CONTINUE_START 不 INTERP_NEXT_CONTINUOUS_MOTION ERROR_CONTI_INTERP_INCORRECT_CONFIG 兩 連 行 ps400_conti_line3_move() ERROR_OCCURS_IN_AXIS_X, ERROR_OCCURS_IN_AXIS_Y, ERROR_OCCURS_IN_AXIS_Z, PISO-PS400 73