① 初學編程,大家幫忙看下這道c語言題怎麼做萬分感謝
第一題審題關鍵:題目中的轉換規則就是字母在數組中第一次出現的順序(順序是從0開始自增)。
(注意數字是自增數(重復字母不自增,不同字母才自增),不是第一次出現的下標,因為題目有條件:使用數字的最大值等於轉換規則的數目-1)
因此代碼需要實現以下功能:
一、數組輸入,需要有驗證(驗證輸入的是否是小寫,可嵌套循環判斷)。
二、遍歷數組,生成規則列表,可用數組char B[10]和int C[10]來記錄規則,B數組是字母,C是該字母對應的順序(順序用變數自增)。比如數組char A[10]={a,b,a,d,e,f,d,g,j,k};循環每個元素,和數組B中對比,存在就跳過,不存在就將該字母記錄到B中,並將順序變數自增後記錄到C數組對應的下標元素。
三、循環AB兩個數組,通過對比,把數組A中元素替換成對應C中數字(或用新數組a來保存替換結果,原因見下)。
(注意:A是字元數組,c是整型數組,把數字直接存放到A,列印輸出的時候按整型列印,實際就是把數字當成ASCII碼保存了,列印數字就列印ASCII碼。或者一開始就把A定義成字元串數組,最後把數字用ltoa()轉換成字元串再存放到A中,列印用%s格式列印)。
如要接第二題整型a數組,這里可直接把對比結果保存在int a[10]數組中(和原數組A分開)。這樣a可直接用於第二題。
第二題審題:根據上題的a內容定義n個數組(n=a中最大值-a中最小值+1),之後按照題目要求填充這幾個數組,最後列印即可
② 三菱PLC與旋轉編碼器的程序例子
旋轉編碼器是通過光電轉換,將輸出至軸上的機械、幾何位移量轉換成脈沖或數字信號的感測器,
主要用於速度或位置(角度)的檢測。
典型的旋轉編碼器是由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干
個長方形狹縫。
由於光電碼盤與電動機同軸,電動機旋轉時,光柵盤與電動機同速旋轉。
經發光二極體等電子元件組成的檢測裝置檢測輸出若干脈沖信號。
通過計算每秒旋轉編碼器輸出脈沖的個數就能反映當前電動機的轉速。
一般來說,根據旋轉編碼器產生脈沖的方式的不同,可以分為增量式、絕對式以及復合式三大類。
自動線上常採用的是增量式旋轉編碼器。
增量式編碼器是直接利用光電轉換原理輸出三組方波脈沖A、B和Z相;
A、B兩組脈沖相位差90,用於辯向:當A相脈沖超前B相時為正轉方向,而當B相脈沖超前A相時則
為反轉方向。
Z相為每轉一個脈沖,用於基準點定位。
1、三菱PLC的高速計數器
高速計數器是PLC的編程軟元件,相對於普通計數器,高速計數器用於頻率高於機內掃描頻率的機外
脈沖計數。
由於計數信號頻率高,計數以中斷方式進行,計數器的當前值等於設定值時,計數器的輸出接點立
即工作。
三菱PLC內置有21點高速計數器C235~C255,每一個高速計數器都規定了其功能和佔用的輸入點。
⑴
高速計數器的功能分配如下:
C235~C245共11個高速計數器用作一相一計數輸入的高速計數,即每一計數器佔用1點高速計數輸入點。
計數方向可以是增序或者減序計數,取決於對應的特殊輔助繼電器M8□□□的狀態。
例如C245佔用X002作為高速計數輸入點,當對應的特殊輔助繼電器M8245被置位時,作增序計
數。
C245還佔用X003和X007分別作為該計數器的外部復位和置位輸入端。
C246~C250共5個高速計數器用作一相二計數輸入的高速計數。
即每一計數器佔用2點高速計數輸入,其中1點為增計數輸入,另一點為減計數輸入。
例如C250佔用X003作為增計數輸入,佔用X004作為減計數輸入。
另外佔用X005作為外部復位輸入端,佔用X007作為外部置位輸入端。
同樣,計數器的計數方向也可以通過編程對應的特殊輔助繼電器M8□□□狀態指定。
C251~C255共5個高速計數器用作二相二計數輸入的高速計數。
即每一計數器佔用2點高速計數輸入,其中1點為A相計數輸入,另1點為與A相相位差90º的B相計數
輸入。
C251~C255的功能和佔用的輸入點如表5-14所示。
表5-14 高速計數器C251~C255的功能和佔用的輸入點
C251AB
C252ABR
C253ABR
C254ABRS
C255ABRS
如前所述,分揀單元所使用的是具有A、B兩相90º相位差的通用型旋轉編碼器,且Z相脈沖信號沒有
使用。
由表5-14,可選用高速計數器C251。這時編碼器的A、B兩相脈沖輸出應連接到X000和X001點。
⑵
每一個高速計數器都規定了不同的輸入點,但所有的高速計數器的輸入點都在X000~X007范圍內,
並且這些輸入點不能重復使用。
例如,使用了C251,因為X000、X001被佔用,所以規定為佔用這兩個輸入點的其他高速計數器,
例如C252、C254等都不能使用。
2、高速計數器的編程
如果外部高速計數源(旋轉編碼器輸出)已經連接到PLC的輸入端,那末在程序中就可直接使用相對
應的高速計數器進行計數。
例如,在圖5-18中,設定C255的設置值為100,當C255的當前值等於100時,
計數器的輸出接點立即工作。從而控制相應的輸出Y010 ON。
由於中斷方式計數,且當前值=預置值時,計數器會及時動作,但實際輸出信號卻依賴於掃描周
期。
如果希望計數器動作時就立即輸出信號,就要採用中斷工作方式,使用高速計數器的專用指令。
三菱PLC高速處理指令中有3條是關於高速計數器的,都是32位指令。
它們的具體的使用方法,請參考三菱PLC編程手冊。
(2)編程一條斷線條編碼怎麼寫擴展閱讀:
三菱PLC的兩個高速口可以產生脈沖來控制伺服(或步進)電機的轉速。
例如:脈沖頻率為10000HZ,驅動器每2048個脈沖轉一圈,電子齒輪比4/1(可調),
則轉速為10000/(2048*4)*4/1 r/s。
可以利用高速計數器的啊C235~255都是高速計數器的。
然後你可以就是測量脈沖的位置然後給C235一個你要到達的位置的地方就可以定位到你想要的高
度。
脈沖相對於當前位置減少的時候就是電機反轉了你可以在寫一個比較指令與實際位置比較這樣就可
以判斷出電機的正反轉了。
參考資料:網路-旋轉編碼器
③ 條形碼怎麼編碼的
條形碼也稱條形碼符號,是由一組規則排列的條、空及字元組成的平行線條圖形,用以表示一定信息的代碼。常見的條形碼是由反射率相差很大的黑條(簡稱條)和白條(簡稱空)組成的。
1.靜區
靜區是指條形碼左右兩端外側與空的反射率相同的限定區域,是沒有任何符號的白色區域,僅用來提示條形碼閱讀器開始掃描。
2.起始符
起始符是指條形碼符號的第一位字元,標志一個條形碼符號的開始,閱讀器確認此字元存在後開始處理掃描脈沖。
3.數據符
數據符是指位於起始符後的字元,用來記錄一個條形碼的數據值,其結構異於起始符,允許雙向掃描。
4.終止符
終止符是指條形碼符號的最後一個字元,標志著一個條形碼的結束,閱讀器在確認該字元後停止工作。