沈金鑫,趙振南
(南京音飛儲存設備(集團)股份有限公司,江蘇 南京 211102)
穿梭車是智能化倉儲系統中一種搬運貨位單元(主要是托盤和料箱)的自動化設備,在貨架鋪設的軌道上行走來進行貨位單元的輸送,包含多層穿梭車、子母車、四向穿梭車等。四向穿梭車可實現平面內X 方向和Y 方向的運動,具備自動切換方向的功能,而且允許同一平面內多輛穿梭車同時進行作業[1-2]。
目前,功能測試都需要實車在貨架上才能進行測試,在初期控制策略或功能尚不完善的情況,帶來了較大的不確定因素和可能存在的風險,而且某些異常情況在貨架上進行模擬非常麻煩。基于此,提出了搭建一套穿梭車硬件在環仿真平臺,用于對穿梭車控制器的控制策略和功能進行調試和測試。
硬件在環仿真是指用實時的數學模型來模擬被控對象及其傳感器、執行器,能夠模擬被控對象的各種行為和狀態,并與已裝載控制軟件的控制器進行連接,從而使得控制器能夠正確工作和運行。具有可以降低研發成本,縮短系統開發周期,并且實驗可重復性好,可模擬極端或故障條件,廣泛應用于汽車、航空航天、醫療器械等領域[3-4]。
硬件在環仿真平臺由Ethernet通信控制主機、行走仿真板卡、換向仿真板卡、頂升仿真板卡、貨叉仿真板卡和能源仿真板卡組成,與PC上位機仿真控制軟件通過以太網進行通信,通過I/O 接口、RS-485 接口、CAN 接口、A/D 轉換、D/A 轉換、正交脈沖接口與被測的穿梭車控制器連接,對被測穿梭車控制器進行全方面的、系統的測試。硬件在環仿真系統架構,如圖1所示。
硬件在環仿真平臺中,Ethernet通信控制主機與各個功能仿真板卡(行走仿真板卡、換向仿真板卡、頂升仿真板卡、貨叉仿真板卡和能源仿真板卡)之間通過CAN 總線和RS-485 總線進行通信,數據量大、時效性低的配置數據通過RS-485進行傳輸,數據量小、高實時的過程數據通過CAN總線進行傳輸。

圖1 硬件在環仿真系統架構圖
通信控制主機主要實現基于仿真控制軟件通過Ethernet下發的策略對仿真模型進行運算,通過CAN總線和RS-485 總線給各個功能仿真板卡發送故障注入指令,并接收各個功能仿真板卡返回的相關參數傳輸至仿真控制軟件[5-6]。
通信控制主機內建1 個TCP Server 和1 個TCP Client,用于和PC上位機仿真控制軟件進行通信;通過1 路CAN 總線與各個功能仿真板卡進行高實時的數據交換,通過1 路RS-485 總線與各個功能仿真板卡進行非實時的數據傳輸。
通信控制主機的單片機采用MIPS32?microAptiv?和M-Class 內核的PIC32MZ1024EFM,主頻200MHz,自帶1MB Flash 和512KB RAM,支持浮點運算(FPU),帶MII 和RMII 接口的10/100 Mbps 以太網MAC。外圍電路需要設計一個以太網PHY 電路,CAN總線接口和RS-485接口。
2.1.1 以太網PHY電路。以太網PHY接口采用Microchip 公司的LAN8720AI,通過標準RMII 接口與以太網MAC 通信,支持10Mbps 和100Mbps 運行和HP Auto-MDIX,可使用直連或交叉LAN 電纜。以太網PHY電路原理圖如圖2所示。

圖2 以太網PHY電路
2.1.2 CAN 收發器電路。PIC32MZ1024EFM 內部的CAN 模塊完全符合CAN 2.0B 協議,最高速率1 Mbps,32 個報文接收與發送FIFO,每個FIFO 最多可包含32條報文,總共可包含1 024條報文。
在CAN 制器和物理總線之間需要CAN 收發器,為總線提供差分發射能力并為CAN控制器提供差分接收能力,CAN收發器電路圖如圖3所示。

圖3 CAN收發器電路
2.1.3 RS-485接口電路。PIC32MZ1024EFM內部的UART(通用異步收發器)模塊,具有8級深FIFO發送和接收數據緩沖區,可以更好地進行數據傳輸。
RS-485接口采用平衡驅動器和差分接收器的組合,抗共模干擾能力增強。RS-485 接口電路如圖4所示。
通信控制主機程序包括主程序、模型運算、Eth-ernet接口、CAN接口、RS-485接口等部分。

圖4 RS-485轉換電路
主程序在完成外設初始化之后,初始化TCP/IP軟件協議棧并創建1個TCP Server和1個TCP Client,TCP Client連接至PC上位機仿真控制軟件的Server,接收仿真控制軟件的配置信息并回傳各個功能仿真板卡的當前參數;在主程序中按照配置的信息進行模擬運算,并通過CAN接口和RS-485接口與各個仿真板卡進行數據傳輸,根據故障配置信息即時給各個功能仿真板卡發送故障注入指令[7-8]。
行走仿真板卡要能夠模擬行走伺服驅動器的CANopen 協議接口和I/O輸入輸出、從動輪編碼器脈沖信號、與行走有關的測距傳感器和光電傳感器的狀態。
當接收到穿梭車控制器輸出的速度控制0-10V模擬量、使能和方向2個I/O,能夠更新CANopen中狀態字、當前電流、當前速度、編碼器脈沖數等參數,同時通過PWM輸出與速度對應的正交編碼器脈沖數。當接收到控制主機發送的故障模擬指令時,能夠產生與之對應的故障,例如模擬行走起始時被卡,則模擬輸出的從動輪編碼器脈沖數輸出小于模擬輸出的伺服驅動器CANopen 中的編碼器脈沖數,且實際電流輸出較大。
行走仿真板卡采用意法半導體公司的STM32F407 微控制器,外圍具有2 個CAN 總線接口、2個RS-485接口、1路模擬量輸入、3個數字量輸入、1個數字量輸出、1 組正交編碼器脈沖輸出、2 路4-20mA輸出。
STM32F407系列微控制器基于ARMRCortexR-M4內核,主頻高達168MHz,支持浮點運算(FPU),具有2個CAN接口,6個串行通信接口,2個DAC輸出。
3.1.1 模擬輸入電路。模擬輸入電路如圖5所示,采用分壓電路和單位增益的運放緩沖器構成,然后由STM32F407 內部ADC 進行轉換,用于采集穿梭車控制器輸出的控制行走電機速度的0-10V模擬量。當輸入電壓過高的時候,TVS6就會工作,從而保護輸入電路。

圖5 模擬輸入電路
3.1.2 4- 20mA 輸出電路。 4- 20mA 電流由STM32F407 內部DAC 經過電壓跟隨器,與R54 電流采樣電阻上的電壓進行比較,從而控制N-MOS 的導通與否。模擬輸出電路如圖6所示。

圖6 4-20mA輸出電路
3.1.3 I/O輸入輸出電路。穿梭車控制器輸出的驅動器使能、行走方向、清除報警等24V 數字量通過TLP184光耦來實現電平轉換,原理圖如圖7所示。
行走仿真板卡產生的驅動器報警信號、光電傳感器信號都是由高側智能功率開關芯片ITS4200 來實現的,具有過流保護功能,原理圖如圖8所示。

圖7 24V數字量輸入電路
3.1.4 正交脈沖輸出電路。正交編碼器脈沖是由STM32F407內定時器PWM模式產生2路PWM信號,通過高速光耦TLP152 轉換為24V,并設置有關參數使得相位相差1/4T。正交脈沖輸出轉換電路如圖9所示。

圖8 24V數字量輸出電路

圖9 正交脈沖信號處理電路
程序流程圖如圖10 所示,程序包括主程序、CANopen 協議接口、與控制主機之間的數據交換、處理速度輸入的定時任務等部分。
主程序在完成外設初始化之后,開啟一個ms 級的定時器中斷,在中斷中讀取模擬量輸入并換算實時速度,實時輸出正交脈沖,積分得到實際位置,更新CANopen協議中的狀態字、實際速度、實際電流等參數。在主循環中處理電機CANopen 接口,能夠模擬實際電機的運行狀態。同時,通過CAN 接口與RS-485 接口向控制主機反饋響應的數據信息,且執行控制主機下發的故障注入指令,并在指定的情況下注入指定的故障。
換向仿真板卡、頂升仿真板卡、貨叉仿真板卡及能源仿真板卡,能夠模擬伺服驅動器的CANopen 協議接口、RS-485 接口的傳感器或執行器和24V 數字量信號。

圖10 行走仿真板卡程序流程圖
換向仿真板卡要能夠模擬2 個伺服電機的CANopen 協議接口和用于姿態檢測的接近開關傳感器;頂升仿真板卡模擬1個伺服電機驅動器的CANopen協議接口、RS-485接口的角度傳感器和用于狀態檢測的接近開關傳感器;貨叉仿真板卡模擬1個伺服電機驅動器的CANopen 協議接口、RS-485 接口的撥桿控制板和用于貨位檢測的光電傳感器;能源仿真板卡能夠模擬電池或超級電容的RS-485通信接口、用于指示電量的數字量信號。
該硬件在環仿真平臺能通過各個功能性仿真板卡模擬出穿梭車運行所需要的信號和各個動作流程,且便于實現各種現實中難以實施或有危險的故障注入。經過調試和試驗,該硬件在環仿真平臺已成功應用于料箱類、托盤類四向穿梭車的測試和同層多臺車調度系統的開發。另外,還可以應用于多層穿梭車、穿梭式子母車及穿梭板車的功能測試。