IC697ALG320在此應用系統中有4個任務,分別創建4個線程:網絡接收線程、網絡發送線程、串口接收線程和串口發送線程。這4個線程可并發執行.因網絡速度與串口速度存在著差異,需設置相應的緩沖區來對收發數據進行緩沖。在此應用系統中設置兩個環形緩沖區,如圖4所示,其中nctrv_uartsd_buf用于接收網絡數據,供存儲從網絡口接收的數據,然后串口從此緩沖區中取出數據發送。
IC697ALG320另一緩沖區uartrv_netsd_bur用于接收串口數據,然后網絡口取出此緩沖區中數據發送出去。 線程間需實現相互通信和同步,共用緩沖區既要互斥執行又要同步執行,其操作遵循生產者和消費者模型。線程間的互斥操作采用互斥鎖(mu-tex)來實現。線程間的同步通過設置兩個指針來實現,一個是讀指針,另一個是寫指針,寫指針指向隊頭,初始化為0,讀指針指向隊尾,初始化為bufsize-1。
當寫數據時,比較讀寫指針是否相等,相同則寫線程阻塞;不相等,則寫入數據,然后將寫指針加1。當讀數據時,讀指針加1,然后比較讀寫指針是否相等,相等則讀線程阻塞;不相等,則讀出數據。 IC697ALG320網絡發送線程(流程圖如圖6所示)和串口接收線程間共用環形緩沖區uartrv_netsd_buf。串口發送線程和網絡接收線程共用環形緩沖區netrv_uartsd_buf。兩線程間的關系和處理類似網絡發送線程和串口接收線程。
IC697ALG320系統測試 完成轉換器的軟硬件設計后,按如圖7所示,連接系統進行轉換器數據的傳輸測試。在pc機a上運行串口收發程序,而在pc機b上運行以太網收發程序,經測試后數據傳輸無誤。
PHOENIX CONTACT 2819956 IBS RL CABLE FIBER OPTIC BUS CONNECTOR 2M NEW (A14)
PARKER PTR202-270-AB23-C ROTARY ACTUATOR USED
PHOENIX CONTACT 2938646 QUINT-PS-3X400-500AC/24DC/40 24 VDC POWER SUPPLY USED
GENERAL ELECTRIC TB 43F CIRCUIT BREAKER 400 AMP USED
SCHNEIDER ELECTRIC LCD OPERATOR INTERFACE TCCX1730L
FANUC A16B-2200-0160/05B PC BOARD USED NICE!!
ATLAS COPCO Power MACS TC 52S 4240 0440 81 Controller (A25)
Spindle Control Operator Panel 29-90087400 Used (A29)
TR Electronic Encoder CE65M-J-4096/128-H01BD-M06UA/U9 Used
TR Electronic Encoder CE65M-J-4096/128-H01BD-M06UA/U Used
TR Electronic Encoder CE65M-J-4096/128-H04BD-M06UA/U9 Used
Siemens KSP-M351 PC Board W/ Floppy and Hard Drive AUT5 New
Valenite model MM-060-10R150F Master Mill Cutter 6" Used
Mitsubishi Melsec MES I/F UNIT Model #QJ71MES96 Used Nice
FUJI Electric Auto Circuit Breaker 300A SA403RCUL Used Nice
ALLEN BRADLEY 9 SERIES MONO OPERATOR PANEL 8520-MOP7 PARTS/REPAIR
ALLEN -BRADLEY AC SERVO MOTOR 1326AB-B2E-11 USED