亓曉彬,諸進才
(廣州鐵路職業技術學院,廣州 510430)
當前社會科技飛速發展,電線電纜不可或缺、用量巨大,絞線機作為線纜生產中的重要設備市場需求巨大。絞線機,顧名思義就是將多條單股細線絞合在一起構成需要的多股粗線的機械設備,廣泛應用于當今社會各行各業的各種電線線纜的絞制。絞線的基本原理就是把多條單線引入到絞線弓上,通過絞線弓的飛速旋轉實現快速的絞制;但這一過程必須要有收線盤來配合,一方面將絞好的線纜排列收起,另一方面配合絞線弓完成絞線的動作過程[1-2]。而在收線工作中須要有排線機構通過左右運動將導線均勻的排列在收線盤上,并且隨著收線長度的增加,收線盤的直徑不斷增大,對應的排線機構的速度就要不斷變化。
傳統絞線機為機械排線即排線機構的運動(包括速度和方向)是通過機械傳動實現的,但其具有結構復雜、生產成本高、安裝調試繁瑣、絞線絞距變化時需要更換機械部件等缺點,已失去市場競爭優勢[3-4]。本設計改進為電氣排線即通過步進電機帶動排線機構工作。因為絞線時絞線弓會快速旋轉,而收線盤和排線機構位于絞線弓內部,所以采用電氣排線時內外部數據傳輸需用無線通信(步進電機電源通過空間有限的中空軸引入)。絞線機電氣排線系統主要由主控PLC 系統、無線數據收發系統、排線步進電機控制系統等組成。系統結構框架如圖1所示。
圖1 無線電氣排線系統結構
絞線機主控制器采用S7-1200 PLC,負責絞線機整體工藝的控制。因為排線步進電機的速度由絞線弓電機編碼器的脈沖頻率和S7-1200 下達的速度系數等決定。所以為了實現電氣排線功能,S7-1200 需要將相關參數傳送至無線數據發送端,主要通過RS485硬件模塊組態、通信參數指令Modbus_Comm_Load設置、Modbus主站指令Modbus_Master和從站指令Modbus_Slave的調用等來實現。
新建項目工程,選擇對應S7-1200 的CPU 為1215C DC/DC/DC,訂貨號為6ES7 215-1AG40-0XB0,系統版本V4.2。S7-1200 PLC 采用Modbus RTU 模式并且CPU 模塊未集成對應通信電路,所以,要實現通信功能必須在系統中添加RS485 通信模塊。打開系統的“設備視圖”界面,從右邊“硬件目錄”中找到“通信模塊”/“點到點”/“CM1241(RS485)(訂貨號為6ES7 241-1CH30-0XB0)”,雙擊或拖拽此模塊至CPU 左側101 插槽即可[5],如圖2所示。
圖2 1200 PLCRS485通信模塊硬件組態
選中CM1241 (RS485) 模塊,在“屬性”/“常規”/“RS-485 接口”/“IO-Link”中配置模塊的硬件接口參數即Modbus RTU 通信參數,如圖3 所示。設置傳輸率為19.2 Kb/s、無奇偶校驗、8 位數據位、1 位停止位、超時等待時間1 ms,其他保持默認。
圖3 1200 PLCModbus RTU通信參數設置
1.2.1 通信參數配置指令
通信參數的配置只需在系統啟動時執行一次即可,所以,參數配置前先要在系統中添加啟動OB。在左側項目 樹 下 選 擇“PLC1 [CPU1215C DC/DC/DC]”/“程 序塊”/雙擊“添加新塊”,在彈出的窗口中選擇“OB 組織塊”/雙擊“Startup”,添加并啟動OB 100。打開OB 100啟動塊,打開右邊指令列表中的“通信”窗格文件夾,將“通信處理器”/“MODBUS”文件夾下的Modbus_Comm_Load 指令拖拽到程序編輯窗口,生成MB_COMM_LOAD_DB 默認背景數據塊,并設置指令參數如圖4所示。
圖4 Modbus_Comm_Load指令設置
其中,REQ 輸入端為上升沿時執行該指令;PORT端輸入通信模塊的硬件標識符,可通過雙擊<???>在提示框中進行選擇;BAUD 端用于波特率設置,可選300~115200bit/s,須軟硬件配置、收發端統一;PARITY 為奇偶校驗位設置端,0、1、2 分別為不校驗、奇校驗、偶校驗;MB_DB 端連接主站指令Modbus_Master 或從站指令Modbus_Slave 的背景數據塊,該數據塊在調用相應指令時自動生成,且連接后軟件設置才生效。
1.2.2 Modbus RTU主站指令
Modbus_Master 指令用于Modbus RTU 主站與指定地址的從站進行通信(含發送和接收功能,具體由MODE端和DATA_ADDR 端聯合決定),如圖5 所示。該指令無中斷功能,用戶程序須采用查詢方式掌握發送和接收的完成情況[6]。REQ 上升沿執行指令向Modbus RTU 從站發送數據;MB_ADDR 為從站地址,可設置0~247,其中地址0 用于消息廣播,允許所有從站接收數據;MODE 端和DATA_ADDR 端共同確定Modbus_Master 指令對應的Modbus 功能代碼,圖中MODE=2、DATA_ADDR=40001對應Modbus 功能代碼為16H,即向從站40001 地址開始寫一個或多個字數據;DATA_LEN 用于設置通信長度,圖中對應為10 個字長;DATA_PTR 為數據指針,即收發數據所在的首存儲單元的地址,對應存儲區在PLC的DB數據塊中,先定義后使用,一般定義為數組形式,圖中“BF_OUT”為用于發送的DB 數據塊、“BF_OUT1”為WORD類型的數組名。
圖5 Modbus_Master指令應用
Modbus_Slave 指令與Modbus_Master 類似,在此不做贅述。S7-1200 相關細節可參考用戶手冊等說明。絞線機排線系統中,1200 PLC 作為MODBUS 通信主站,只需通過上述操作便可將存儲于“BF_OUT”數據塊中的功能數據傳送到無線系統的發送端。
無線數據發送端主控MCU 為STM32F103RCT,主要負責通過RS-485 接口與1200 進行Modbus 通信,并將接收到的數據通過NRF24L01 模塊進行無線發送。NRF24L01 模塊的核心為工作在2.4~2.5 GHz(世界通用ISM 頻段)的單片無線收發一體芯片nRF24L01,芯片采用SPI 接口(接口速率最高可達8 Mb/s)與MCU 通信,其工作電壓1.9~3.6 V,無線傳輸速率可設置1或2 Mb/s。
根據所需功能設計發送端硬件電路,主要包括電源電路、MCU 最小系統、RS-485 接口、NRF24L01 模塊接口等電路。其中,MCU 最小系統及NRF24L01 無線模塊接口如圖6所示。
圖6 MCU最小系統及NRF24L01無線模塊接口電路
具有收發自動換向功能的RS-485 接口電路如圖7 所示,其中RXD1、TXD1 分別連接MCU 的USART1 的RX、TX 端,R100 電阻保證了USART1 進行ISP 下載的順利進行[7]。
圖7 收發自動換向的RS-485接口電路
發送端MCU 控制程序分為系統初始化、串口中斷處理和NRF24L01 無線發送等幾個主要模塊。系統初始化用于MCU 最小系統、內存變量、串口中斷、外部中斷、無線模塊等的初始設置[8];串口中斷服務程序完成與S7-1200 PLC 的Modbus 通信;NRF24L01 的無線通信則為系統重點,因為是發送端,主要介紹NRF24L01 的無線發送模式。
NRF24L01采用增強型ShockBurst工作模式,同時為了增強程序的通用性和可移植性,使用MCU 通用IO 口模擬SPI 功能,即用MCU 的6 個引腳分別連接模塊的CE、CSN、SCK、IRQ、MISO、MOSI 端口,其中與IRQ連接的STM32F103RCT 的引腳需設置為外部中斷功能,這樣當無線模塊接收到有效數據、數據發送完成或者達到最多重發次數時就會通過IRQ 的低電平引發MCU 進入外部中斷并根據狀態寄存器進行相應處理。
無線發射程序包括各引腳操作、各寄存器訪問以及相關指令的應用等,最底層的SPI 同步讀寫程序如下(其中的MISO、MOSI、SCK等為通用IO口的宏定義):
設置并進行發射操作的程序代碼包括以下部分:(1)控制進入待機模式;(2)寫入發送地址;(3)寫入接收通道0地址(與發送地址相同);(4)寫入將要發送的數據;(5)使能接收通道0 自動應答;(6)使能接收通道0;(7)設置自動重發次數;(8)設置射頻通道頻率;(9)設置數據傳輸率(1 Mbps 或2 Mbps);(10)使能CRC 校驗;(11)拉高CE 啟動設備。通過以上步驟便能較為可靠的把接收的PLC端數據以無線方式發射出去。
無線接收端位于絞線機絞動盤內部,因為結構原因,機器主控PLC 的命令無法采用連線方式直接傳給排線控制器,所以,此無線通信系統可以較完美的解決問題。無線接收端的硬件電路與發送端相同,程序代碼則主要是無線模塊收發模式及數據傳輸方向的區別,在此不做贅述。
排線步進電機系統包括排線控制器、步進驅動器、步進馬達3個部分[9],在此主要講解排線控制器。實際系統中,排線步進電機控制器與無線數據接收端集成在同一塊PCB 電路板中,后者接收到源自主控PLC 的無線數據后,進行解析并將有關參數傳給排線控制模塊。排線控制器根據設置參數(實際為變化的比例系數)、絞線弓電機編碼器傳來的脈沖頻率、所用步進馬達步距角、細分數及傳動機構的導程,計算并輸出相應頻率及數量的脈沖[10],從而控制步進電機運動排線。
排線控制器的MCU 最小系統與無線發送端電路類似,主要增加了接收絞線弓電機編碼器脈沖的輸入接口電路(如圖8 所示)和向排線步進系統輸出驅動信號的高速脈沖輸出及方向接口電路(如圖9所示)。
圖8 高速脈沖輸入接口
圖9 高速脈沖輸出接口
排線控制器就是要完成絞線機收線盤的排線工作,主要包括外部脈沖輸入中斷處理、輸出脈沖相關計算、輸出脈沖中斷處理等功能程序。因為排線存在雙向往復的過程,所以需要根據收線盤兩端邊沿信號控制電機停止及反向起動,于是在輸出脈沖處理中需要根據條件進行加減速控制,保證排線準確、平整、不斷線。
“S曲線”函數如下:
式中:a為冪底數;n為加減速中間速度點數;m=n/2。
排線換向過程的加減速控制采用“S 曲線”[11],其離散化公式如式(1),并設計基于DEV-C++的冪底數和速度點數可調的“S 曲線”數據點生成器,生成相應中間速度點系數,以0.93 為底的50 個“S 曲線”數據點如下:0.912 4,0.905 8,0.898 7,0.891 1,0.882 9,0.874 1,0.864 6,0.854 4,0.843 4,0.831 6,0.819 0,0.805 4,0.790 7,0.774 9,0.758 0, 0.739 8,0.720 2,0.699 1,0.676 5,0.652 2,0.626 0,0.597 8,0.567 6,0.535 0,0.500 0, 0.465 0,0.432 4,0.402 2,0.374 0,0.347 8,0.323 5,0.300 9,0.279 8,0.260 2,0.242 0,0.225 1,0.209 3,0.194 6,0.181 0,0.168 4,0.156 6,0.145 6,0.135 4,0.125 9,0.117 1, 0.108 9,0.101 3,0.094 2,0.087 6,0.081 5。
在MCU 程序中通過“查表發”,在當前速度和目標速度之間插入上面50 個系數對應的中間點,對于每個速度點的運行時間采用等脈沖法即每個中間速度均運行相同的脈沖數,這樣系統可控性、穩定性和準確性更高。加速與減速查表方向相反。MCU 中通過控制PWM 計時器定時周期實現輸出脈沖頻率即步進電機速度的控制,加速段程序結構如下。
絞線機的絞線質量由眾多因素決定,其中排線系統的性能對其具有重要影響。絞線成品一般為成盤供貨,截面大,因此對排線要求較高,尤其是底層排線需要特別整齊;同時在排線調頭(排線步進電機換向)時,因為有一個短暫的停留,此時需注意上下層線纜間不能留有太大空隙,排距要適當,否則容易造成壓線、松股,甚至排線混亂等現象。因為線纜特別長且成盤纏繞,在此僅以某型號絞線機為例,對傳統機械排線和無線電氣排線兩種機型進行實驗,分別在絞線股數為7股、12股、16 股時,測試其絞線2 000 m 左右出現松股、壓線的次數(兩個重要性能指標),如表1所示。由表可知,采用無線電氣排線系統后,不但可以簡化絞線機的機械結構,還可大幅提高絞線成品的質量,其松股、壓線的出現幾率大大降低,且系統工作穩定可靠。整體設計科學、有效、實用。
表1 每2 000 m出現壓線、松股點數統計
本文針對絞線機機械排線系統的不足,設計了以S7-1200 PLC 為機器主控單元,以NRF24L01為無線收發模塊,以STM32F103RCT 為排線控制器核心,以步進電機為執行機構的電氣排線系統。同時,為保證排線質量不出現走位等情況,還在程序中采用了S 曲線進行加減速控制。整體系統不但簡化了絞線機的機械結構還大大提高了絞線質量,技術成熟的同時具有創新性,已在廣州某電工機械有限公司絞線機上實際使用,提高了生產效率、規避了頻繁更換機械部件的步驟,具有很強的實用及推廣價值。