第一篇:Java_GUI程序設計規范編碼方式總結
GUI編程規范總結:
1,一般情況下對話框第一欄都是菜單欄,因此首先就是建立菜單欄。在GUI控件使用時所有的控件都是層層嵌套的,說的意思就是控件依托,并最終整合到面板上,進而在添加事件偵聽器,以響應時間的發生;
建立菜單:
private JMenu JSSFMenu=new JMenu(“結算收費(J)”);private JMenuItem DBCZItem=new JMenuItem(“電表出帳/審核(A)”);private JMenuItem DBJFItem=new JMenuItem(“電表繳費(F)”);
* GUI程序設計模式總結:
* GUI框架的設計步驟:
* 1,首先要建立主框架:方法如下: JFrame f=new JFrame();
* 2,取得框架的內容窗格 Container contentPane=f.getContentPane();
* 3,在制作復雜的用戶界面時,常常需要使用多個JPanel將復雜的界面分解為相對建大的子界面,然后在對每個JPanel進行布局;
JPanel p=new JPanel();
* 在布局管理器中:
* 對于流式布局則是直接調用add(p);里面的p指的是組件的對象
* 對于邊框布局都是調用add的重載函數來實現的;例如邊框布局采用的add(new JButton(“North”,BorderLayout.NORTH));
setLayout();
public void setLayout(LayoutManager mgr)設置此容器的布局管理器。
參數:
mgr-指定的布局管理器
例如設置網格布局管理器:p.setLayout(new GridLayout(3,2));
* 對于網格布局則有下面的添加組件的代碼框架: JPanel p=new JPanel();
p.setLayout(new GridBagLayout());容器p設置為網格袋布局
/創建約束條件:
GridBagConstraints constraints=new GridBagConstraints();
//按照約束條件constraints將txtField添加到p中;
p.add(txtField,constraints);
* 4,將面板添加到框架的內容窗格中;contentPane.add(p);這里的p就是組件對象;
* 這里的add的添加方法不同就有不同的布局管理:這里的例子是邊框布局
2,處理控件的依耐關系,及消息的定義;各種細節的設計(例如快捷鍵)
消息的處理機制將是以后重點的研究對象,本程序內采用匿名內部類的方法實現;
任何實現了Actionlistner接口的類所生產的對象,均可作為事件的偵聽器,并實例化actionformed()這里面有消息處理的方法;
3,控件的逐級加入,JSSFMenu.add(DBJFItem);//將下拉子菜單加入到主菜單中去 menuBar.add(JSSFMenu);//將主菜單加入到主菜單工具條中
4,引入面板對象JPanel,在這之前要定義到要加入到面板的控件,例如標簽,Jlable 可以對控件進行必要地顯示效果設置,這些都可以調用現有的方法實現,參考說明文檔就可以實現;
最后要設置控件的布局模式:
5,將面板加入到框架的內容窗格中; contentPanel.add(P);在制作復雜的用戶界面時,常常需要使用多個JPanel將復雜的界面分解為較為簡單的子界面,然后再對每個JPanel進行布局。此時我們知道,面板就是一個容器,以此為依托包含各種組件,最后在框架中時并獨立設置這些組件的布局方式:contentPane.add(statusPanel,BorderLayout.SOUTH);這里的這個例子就是將statusPanel加入到框架中去,并設置了其在主框架中的布局:south 其實面板對象內部,也是需要設置組件的布局方式,因為面板中還有標簽,文本。如下:
LayoutUtil.add(statusPanel,GridBagConstraints.NONE, GridBagConstraints.CENTER,0,0,0,0,1,1,labStatus);這也遵循逐級加入的思想,這種逐級加入的設計思想,使GUI程序設計的由內至外,逐步添加。使程序更加明朗;
代碼如下: /* * 主要研究java程序設計的基本步驟與方法,以及程序在設計過程中應注意的問題及原則 * 這是主程序MAINAPP 也就是主程序的入口,是顯示框架的模塊 * 研究框架的設計模式以及主要的java技術,* 對話框設計的一般模式如下:
* 1,確定所選取的控件,一般情況下,都是在第一行建立菜單欄。* 建立菜單:注意上下菜單的依耐關系;
* 2,主程序界面的顯示:獲取框架的內容窗格;Container contentPane=f.getContentPanel();* 如下的例子: * * */
import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import javax.swing.border.*;import java.sql.*;import java.util.*;import edu.njust.cs.*;
class MainApp extends JFrame{ //系統啟動時的等待畫面
private JFrame splashScreen=null;//收費結算菜單
private JMenu JSSFMenu=new JMenu(“結算收費(J)”);private JMenuItem DBCZItem=new JMenuItem(“電表出帳/審核(A)”);private JMenuItem DBJFItem=new JMenuItem(“電表繳費(F)”);//基礎資料菜單
private JMenu JCZLMenu=new JMenu(“基礎資料(Z)”);private JMenuItem GYItem=new JMenuItem(“雇員資料(G)”);private JMenuItem CBBItem=new JMenuItem(“抄表班(C)”);private JMenuItem SFBItem=new JMenuItem(“收費班(S)”);private JMenuItem FLItem=new JMenuItem(“費率(F)”);private JMenuItem DBItem=new JMenuItem(“電表資料(D)”);//設置菜單
private JMenu SZMenu=new JMenu(“設置(C)”);private JMenuItem SysConfigItem=new JMenuItem(“系統參數設置...(S)”);//幫助菜單
private JMenu HelpMenu=new JMenu(“幫助(H)”);JMenuItem aboutItem=new JMenuItem(“關于本程序...(A)”);//內容窗格
private Container contentPane;//當前內容窗格中的面板
private JPanel selectedPanel=null;//狀態信息
JLabel labStatusContent=null;//登錄用戶
private JLabel labUserContent=null;//數據庫連接
Connection con=null;//參數信息
private Properties prop=null;
public MainApp(){ /*SwingUtilities.invokeLater(new Runnable(){ public void run(){ showSplashScreen();} });*/ //創建菜單
setIconImage(new ImageIcon(“image/title20.jpg”).getImage());this.setTitle(“結算收費演示系統”);contentPane=getContentPane();//創建菜單
constructMenu();//創建狀態條
constructStatusPanel();//讀入系統參數 } public void constructMenu(){ //創建菜單 //構建菜單
JMenuBar menuBar=new JMenuBar();//收費結算菜單----------------BEGIN JSSFMenu.setMnemonic(KeyEvent.VK_J);//表示助記符的鍵代碼 //電表出帳
DBCZItem.setMnemonic(KeyEvent.VK_A);/*DBCZItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ MainApp.this.setSelectedPanel(new DBCZPanel(MainApp.this,con));} });*/ //利用匿名內部類實現消息偵聽
JSSFMenu.add(DBCZItem);//將下拉子菜單加入到menuBar中;
//電表繳費
DBJFItem.setMnemonic(KeyEvent.VK_F);
JSSFMenu.add(DBJFItem);menuBar.add(JSSFMenu);//收費結算菜單----------------END
//基礎資料菜單----------------BEGIN JCZLMenu.setMnemonic(KeyEvent.VK_Z);//雇員
GYItem.setMnemonic(KeyEvent.VK_G);
JCZLMenu.add(GYItem);//分隔線
JCZLMenu.addSeparator();//抄表班
CBBItem.setMnemonic(KeyEvent.VK_C);
JCZLMenu.add(CBBItem);//收費班
SFBItem.setMnemonic(KeyEvent.VK_S);
JCZLMenu.add(SFBItem);//費率
FLItem.setMnemonic(KeyEvent.VK_F);
JCZLMenu.add(FLItem);//分隔線
JCZLMenu.addSeparator();//電表
DBItem.setMnemonic(KeyEvent.VK_D);
JCZLMenu.add(DBItem);menuBar.add(JCZLMenu);//設置菜單-------------BEGIN SZMenu.setMnemonic(KeyEvent.VK_C);//系統參數設置
SysConfigItem.setMnemonic(KeyEvent.VK_S);SZMenu.add(SysConfigItem);menuBar.add(SZMenu);//設置菜單-------------END //幫助菜單-------------BEGIN HelpMenu.setMnemonic(KeyEvent.VK_H);//關于
aboutItem.setMnemonic(KeyEvent.VK_A);HelpMenu.add(aboutItem);menuBar.add(HelpMenu);//幫助菜單-----------END setJMenuBar(menuBar);}
//創建狀態條
public void constructStatusPanel(){ //將控件幾種加入框架,并利用合理利用布局模式
JPanel statusPanel=new JPanel();//新建一個面板JPanel,這個面板對象只管下面狀態欄的顯示;
Border loweredBevelBorder=BorderFactory.createLoweredBevelBorder();//設置邊界樣式 statusPanel.setLayout(new GridBagLayout());//利用面板對象設置布局模式;為GridBagLayout布局
JLabel labStatus=new JLabel(“ 提示信息 ”);labStatusContent=new JLabel();JLabel labUser=new JLabel(“ 用戶名 ”);labUserContent=new JLabel();labUserContent.setPreferredSize(new Dimension(90,3));
labUser.setBorder(loweredBevelBorder);labUserContent.setBorder(loweredBevelBorder);labStatus.setBorder(loweredBevelBorder);labStatusContent.setBorder(loweredBevelBorder);//設置組件邊框;
LayoutUtil.add(statusPanel,GridBagConstraints.NONE, GridBagConstraints.CENTER,0,0,0,0,1,1,labStatus);LayoutUtil.add(statusPanel,GridBagConstraints.BOTH, GridBagConstraints.CENTER,100,100,1,0,1,1,labStatusContent);LayoutUtil.add(statusPanel,GridBagConstraints.NONE, GridBagConstraints.CENTER,0,0,2,0,1,1,labUser);LayoutUtil.add(statusPanel,GridBagConstraints.VERTICAL, GridBagConstraints.CENTER,0,100,3,0,1,1,labUserContent);//設置控件的布局,調用自定義包中的方法;
contentPane.add(statusPanel,BorderLayout.SOUTH);}
public static void main(String []args){ Font font=new Font(“微軟雅黑”, 0, 12);SetFont.setFont(font);//設置全局字體 MainApp ma=new MainApp();ma.setDefaultCloseOperation(EXIT_ON_CLOSE);ma.setSize(600,400);//設置主畫面初始大小 ma.show();//滿屏顯示
//ma.setExtendedState(MAXIMIZED_BOTH);} }
程序運行結果如下:
第二篇:程序編碼總結
技術部工作總結
大家好,我是…的...,接下來由我為大家分享我這三個月的收獲。
從研討室培訓出來我就被分到了畜牧組,對此我感到特別的幸運。大家一起工作,一起加班,在積極融洽的氛圍中共同學習,共同成長。這讓我擺脫了初涉職場的迷茫,并且逐漸熱愛工作,沉醉工作。下面就是我對這幾個月工作的總結:
學習是提升自己、豐富自己的有效途徑。剛進組時我對一切還有些陌生,漸漸的我學會了如何使用公司的框架,如何對豬源系統業務進行分析,還學習了有關項目管理的九大知識領域、五大過程。知道了項目的意義,項目管理的價值及項目管理的需求管理。知道了什么是需求開發,業務需求、需求驗證以及需求管理和需求調研。在研討室的幾天里,更是讓我知道業務是要經過討論才會變得更加完善,也為我日后的工作指明了方向。最近我也在了解有關TRS網站方面的知識,以及如何使用TRS去開發網站。在這期間讓我深刻感覺到自我學習的重要性。
前輩的幫助與教導是我迅速成長的助力。在開發期間,磊哥教會了我很多的有關編碼格式,編碼技巧以及功能模塊的解決方案。他教會我在實際開發中要有整體意識,先想解決方案然后再進行編碼,在想解決方案的同時要考慮簡化sql語句,減少頻繁操作數據庫,頁面不必要的代碼或空格會影響加載效率,當然 也要考慮代碼邏輯是否需要簡化,怎么樣才能減少bug數量。此外有關Echart圖表的應用也讓我在工作中少走了不少彎路。在此期間,我越來越懂得謙遜,謙虛使人進步,驕傲使人落后。世界之大,有許多東西是我所不知道的,我只有謙遜,不斷學習,不斷充實自己,才能有一個更好的自己。
實踐是檢驗真理、鞏固知識的關鍵。在這期間我做了一個有關審批系統的功能維護,這讓我真切的感受到了代碼格式以及代碼注釋的重要性,代碼規范可以為后期維護減少大部分時間。然后我了解了有關統計的功能,讓我知道統計最重要的就是sql語句的編寫,在做統計模塊的時 候要先分析統計圖之間是不是有關聯,如果有可不可有一條語句全部查出來。還學習了有關打印的功能,套打主要就是進入相關的lodop插件跟js,然后磊出打印樣式就可以實現。在這期間還寫了有關日報系統的功能,這讓我更加確信代碼格式的重要性。更讓我知道了實現一種功能可以有很多的途徑和解決方案。紙上得來終覺淺,絕知此事要躬行。在一個個實際操作中我更加透徹的理解了相關知識,也對自己的知識儲備感到不滿,日后定會積極汲取知識,學習經驗,為日后工作打下扎實基礎。
時刻自省以追求進步。在工作中我也發現了自己還有很多地方做的不夠好,也有很多地方需要學習,今后我定會刻苦努力,補短板,提質量,工作認真負責,態度積極向上,不讓工作有漏洞,不給客戶留bug。
以上就是我這三個月的心得體會,謝謝大家。
第三篇:證券交易程序和方式范文
一、判斷題
1、證券交易,主要是指投資者通過經紀人在證券交易所買賣股票的交易。
2、市價委托是投資者要求證券經紀人按限定價格或更優的價格買入或賣出證券。
3、競價成交機制使證券市場成為最接近充分競爭和高效、公開、公平的市場,也使市場成交價成為最合理公正的價格。
4、證券交易成交后意味著交易行為的了結。
5、過戶是股票交易的最后一個環節。
6、市價委托指令可以在成交前使投資者知道實際執行價。
7、保證金交易的風險大于現貨交易.8、期貨交易是買賣雙方約定在將來某個日期按成交時雙方商定的條件交割一定數量某種商
品的交易方式。
9、套期保值者是指那些把期貨市場當作轉移價格風險的場所,利用期貨合約的買賣,對其
現在已擁有或將來會擁有的金融資產的價格進行保值的法人和個人。
10、期貨交易之所以能轉移價格風險,在于某一特定商品或金融資產的期貨價格和現貨價格
受相同的經濟因素影響和制約,它們的變動趨勢是一致的。
11、期貨交易所通常采取會員制形式,會員席位有嚴格限制,席位可以公開出售轉讓。
12、由于在期貨交易中買賣雙方都有可能在最后清算時虧損,所以雙方都要交保證金。
13、二板市場是擴大證券發行市場規模的必要條件。
14、競價成交的原則是“時間優先,價格優先”。
15、我國證券交易所全部采用會員制。
16、普通投資者可以直接進入證券交易所進行證券買賣交易。
17、賣方以取得期權費為代價出售這種權利,在期權合約的有效期內賣方必須無條件服從買
方的選擇,除非買方放棄這一權利。
18、證券買賣的清算和交割工作只存在于證券商和投資者之間。
19、場外市場上的交易對象不包括上市公司證券。
20、限價委托和市價委托都能控制成交價格風險。
二、單項選擇題
1、證券公司和客戶之間是______的法律關系。
A 委托代理關系B 抵押關系C 信托關系D 無任何法律關系
2、投資者和證券經紀商當面以書面形式辦理委托手續是______委托方式
A 電話委托B 遞單委托C 自助終端委托D 傳真委托
3、證券市場的市場屬性集中體現在______。
A 委托B 結算C 過戶登記D競價成交
4、每個交易日結束后對每家證券公司當日成交的證券數量與價款分別予以軋抵,對證券和資金的應收應付凈額進行計算和處理的過程是指______。
A 證券交割B 交收C 結算D 證券清算
5、大多數國家證券交易市場采取的交割時間安排是______。
A 當日交割、交收B 次日交割、交收
C 例行日交割、交收D 特約日交割、交收
6、市價委托指令的特點是______。
A 委托價格固定化
B 成交價格理想,投資者可事先確定投資成本
C 委托人不限定價格,經紀人可按市場價格變化靈活掌握,隨機應變
D 有一定的委托有效期限制
7、______在我國證券市場監管體制中處于核心地位。
A 證券交易所B 證券業協會
C 中國證監會D 國務院
8、證券買賣成交后,按成交價格及時進行實物交收和資金清算的交易方式是指______。
A 現貨交易方式B 信用交易方式C 期貨交易方式D 期權交易方式
9、在我國證券市場監管體制中處于核心地位的監管機構成立于______。
A 1991年8月B 1992年10月C 1991年10月D 1992年8月
10、國際市場上最早出現的期貨品種是______。
A 外匯期貨B 黃金期貨C 谷物期貨D 石油期貨
11、下列不屬于證券服務機構的是_______。
A 證券評級機構B 證券金融公司
C 證券登記結算公司D 證券交易所
12、在合約到期前,交易者除了進行實物交割,還可以通過______來結束交易。
A 投機B 對沖C 交收D 主動放棄
13、______交易的保證金是買賣雙方履行其在合約中應承擔義務的財力擔保,起履約的保證作用。
A 信用B 期貨C 現貨D 以上皆非
14、期權交易是對______的買賣。
A 期貨B 股票指數C 某現實金融資產D 一定期限內的選擇權
15、看漲期權買方購買基礎金融工具的最高買價是______。
A 協議價減去期權費B 協議價加上期權費
C 協議價D 基礎金融工具的市場價格
16、期權交易還可為買方轉嫁風險。對做保證金交易的投資者來說,為了將虧損限制在一定范圍內,投資者可通過______的辦法將一部分風險轉嫁出去。
A 保證金買入和買入看漲期權B 保證金買入和買入看跌期權
C 只買入看漲期權D 保證金買空和買入看跌期權
17、______是指外國專業投資機構到境內投資的資格認定制度。
A QFIIB PE
C RQFIID QDII18、證券商的義務不包括______
A 執行投資者的委托指令,買賣證券B 保管投資者的證券賬戶
C 維持證券市場交易秩序D 為投資者提供投資信息
三、多項選擇題
1、證券交易方式可以分為______。
A 現貨交易B 信用交易C 期貨交易D 期權交易
2、委托方式指投資者為買賣證券向證券公司發出委托指令的傳遞方式,有______。
A 遞單委托B 電話委托C 傳真委托和函電委托
D 自助終端委托E 網上委托
3、期權交易對期權買方的功能有______。
A 期權的買方可利用其杠桿作用獲利
B 期權交易有風險防范功能和風險轉嫁功能
C 期權的買方可獲得穩定的投資收益
D 期權交易對已經取得的賬面盈利有保值功能
4、證券結算業務環節包括______。
A 清算B 交割C 交易D 交收
5、在我國,證券登記的類型有______。
A 托管登記B 發行登記C 注冊登記D 過戶登記
6、市價委托的優點是______。
A 指令下達后成交速度快B 成交率高C 比限價委托優先D 成本低廉
7、______屬于證券衍生工具交易品種。
A 權證B 股指期貨
C 可轉換公司債券D 期權
8、證券交易所的組織形式主要有______。
A 公司制B 企業制C 會員制D 其它
9、當保證金賬戶上有了超額保證金時,投資者可以______。
A 提取超額保證金B 償還證券公司的貸款
C 以此再追加購買股票D 以此申請銀行貸款
10、期貨交易是發達國家金融創新的主要品種,將期貨交易引入證券市場可以______。
A 增加了交易的品種B 提高了交易量
C 拓展了證券市場功能D 提供了規避風險的手段
11、按參加期貨交易的目的不同,可將期貨交易的參加者分為______。
A 長期投資者B 套期保值者C 投機者D 做市商
12、期貨交易最主要的功能是______。
A 風險轉移B 長期投資C 價格發現D 銷售商品
13、______屬于場外交易市場。
A 第三市場B 二板市場C 第四市場D 證券交易所
14、______屬于金融機構。
A 證券經營機構B 中國銀行C 保險公司D 金華銀行
15、以下關于期權交易的說法,正確的是______。
A 期權交易的買方有義務在期權到期時,買入期權中的標的物
B 期權交易的賣方有義務在期權到期時,賣出期權中的標的物
C 期權交易的買方需要向賣方支付一定的期權費
D 期權交易的賣方需要向賣方提供標準化的期權合約
16、在期權合約的有效期限內,期權的買方可以______。
A 行使買進或賣出期權標的物的權利
B 讓期權到期自動失效
C 提前終止合同
D 以一定價格讓渡這一權利或在他認為行使權利對自己不利時放棄這一權利
17、期權交易與期貨交易的區別有______。
A 交易對象不同
B 交易雙方的權利和義務不同
C 交易雙方承擔的風險和可能得到的盈虧不同
D 繳付的保證金不同
18、證券交易所的重要地位有______。
A 證券交易平臺B 證券交易心臟
C 證券交易樞紐D 自律組織
19、證券交易所的功能有______。
A 集中證券交易供求關系B 形成公平合理的證券交易價格
C 引導社會資金的優化配置D 經濟的的“晴雨表” 20、2001年施行公司制改革的證券交易所有______。
A 德國法蘭克福證交所B 日本東京證券交易所
C 紐約證券交易所D 斯德哥爾摩證券交易所
第四篇:模具設計規范總結
模具設計規范
1、模具行程如何計算?
落料模
落料模行程S=A+料厚+切入量+傾斜角
A:最小2mm S:最小14mm
小件行程S=15mm 大件行程S=20mm
拉延模
拉延模的行程S=t+A
0t:下死點狀態的壓邊圈型面至凸模最高點。
0A:余量5~10。
注:所有外板件加工前,胚料不能與凸模相接觸:內板件加工前,結構較深的可以局部接觸(有項目負責人指導)。
修邊模
修邊模的行程S= t+b+a
0t:t/sinθ(小數點以下進位)。
0b:最大切入量6mm。a:余量為10mm。
注:傾斜角為10˙切入量要和傾斜角垂直成2mm。
翻邊模 墩死成形時翻邊模的行程S=b+a。
b:凹模與板件接觸到成型完成時的量。a:余量(min10mm)。
2、模具刀塊規格如何確定?
落料模
落料模下模刀塊規格:
高度最小40mm,寬度最小90mm,長度標準300mm,刀塊全部符型。
刀塊空刀5mm,空刀高度20mm:刀塊下部托板空刀10mm。
落料模上模刀塊規格:
高度最小40mm,寬度最小90mm,長度標準300mm,刀塊全部符型。翅膀高度25mm,沿口線筋的寬度20mm。
刀塊空刀5mm,空刀高度30mm;刀塊下部托板空刀10mm。刀塊空刀寬度10mm。
修邊模
鋼材結構
高度最小為40mm,寬度最小為60mm。完全淬火長度為250mm、淬火為300mm。
刀塊空刀1~3mm,空刀高度15mm;刀塊下部托板空刀10mm。刀塊空刀寬度10mm。
A≥1.3H或A≥0.25L A:刀塊寬度 H:刀塊高度 L:刀塊長度
鑄造空冷鋼結構
高度最小為60mm,最高為200mm;寬度最小為50mm,長度標準長為300mm,沿口線筋的寬度SPC材料25mm。高度鋼材30mm,加強筋的寬度為20mm。
刀塊空刀5mm,空刀高度為20mm。刀塊下部托板空刀高度為10mm。
A≤H/1.2 或L≤B/0.6
A:刀塊的寬度 H:刀塊的高度 L:刀塊的長度
廢料刀結構
高度最小為35mm,寬度最小為55mm,沿口線筋的寬度25mm,加強筋的寬度為15mm.廢料刀空刀為5mm,空刀高度為30mm,廢料刀底部空刀為10mm.翻邊模
鋼材結構
高度最小40mm,寬度最小60mm,長度完全淬火標準長250mm,淬火標準長300m.刀塊高空刀2~3mm,空刀高度為距彎曲點15mm,刀塊寬空刀5~10mm,空刀寬度為最小15mm,刀塊下部托板的空刀為10~20mm。
A/H=1.5 A:刀塊的寬度 H:刀塊的高度
補充凸模空刀高度距離料邊10mm,最小空刀高度為30mm.鑄鋼結構
高度最小為50mm,空刀高度最小為80mm,長度標準300mm 刀塊空刀5mm,空刀高度凹模距離彎曲點15mm.凸模距離料邊10mm,最小空刀高度30mm。刀塊下部托板空刀為10~20mm。
A/H=1.5 A:刀塊寬度 H:刀塊高度
注:刀塊總高度低于100mm不設加強筋。.3、檔墻如何設立?
落料模
下模
長X寬X高=70X30X20 上模
長X寬X高=70X30X25 刀塊連接處的檔墻長度120mm。
修邊模
寬X高=40X30
翻邊模
寬=40 高最小20mm應盡量高。
廢料刀在1.6以上時設定檔墻,檔墻要和廢料刀的相同角度進行避讓。
4、刀塊如何分割?
刀塊分割必須注意以下幾點:
1、刀塊的標準長度為300mm(250≤L≤400).2、分塊位置要錯開,標準20以上,最小10mm.3、當刃口線夾角小于30°或圓弧半徑小于5mm時分塊們置距離圓弧終點5mm以上。
4、不傾斜分塊,分塊線與圓弧切線夾角保證在60°以上。
5、分塊確保一條邊為直邊。
6、刀塊最窄處
SC材30mm以上
鋼材30mm以上
FC材30mm以上
5、螺栓及銷釘的設定。
鋼材結構設定螺釘要滿足以下幾點:
1、螺釘必須交錯排列。
2、堅固螺釘基本上使用M12,3、切刃螺釘及銷釘的直徑,長度要基本相同鑲塊分塊位置旁邊必須設定螺釘。
4、鑲塊長度決定螺釘數量:
150mm以下2個螺釘
150~250mm設3個螺釘
250~350mm設4個螺釘
5、沉孔邊緣距離刃口15mm以上,孔中心距離刀塊側面20mm以上。
鑄件設定螺釘和銷釘要滿足以下幾點:
1、鑲塊的長度決定螺釘的數量。
150以下的設2個 150~230mm設3個 230mm以上的設5個
2、螺釘、銷釘孔邊緣距離刃口30mm以上,孔中心距離沿口線筋內壁20mm以上,刀塊側面25mm以上。
螺釘
銷釘
φD 鋼材
M12X50
φ13X50
第五篇:短信格式(sms)以及編碼總結
短信格式(sms)以及編碼總結
一、短信貓操作分為三種模式: Block、Pdu 和 Text
1、Block 模式基本已經被 Pdu 模式取代,沒有具體研究。
2、Text 模式比較簡單,但是支持的設備不是很全,而且不能實現中文。AT + CGMF=1
3、Pdu 模式
Pdu 編碼主要包括兩個主要的部分,一是 pdu 串的整體數據格式,分別因為發送信息串和接收信息串而有區別,二是 pdu 中文本部分的編碼,分別因為字符集而不同。
我們也可以這樣來理解這個 pdu 編碼的格式,sms 相當于一個協議棧,最簡單的協議棧: 根據 gsm03.40 規范,sms 協議包括以下幾層:
1、SM-AL :應用層。這個部分就是數據部分。
2、SM-TL :傳輸層。我們可以清楚的看到這里描述了主要的短信內容,包括發送號碼,接收號碼,信息類型,編碼,數據報長度等等,這也是我們編程主要要面對的問題。
3、SM-RL :中繼層。這個指的是短信在網關之間中繼需要的協議。
4、SM-LL:鏈路層。
從上述描述中我們可以清楚的看到,我們編程主要集中于傳輸層。
二、短信傳送有三種編碼: 7 位,8 位,UniCode
1、英文 7 位編碼 這是 gsm 的默認編碼方式
由于這樣的移位,我們可以看到我們能發的最多英文字符等于: 140*8/7 = 160。
2、數據 8 位編碼
8-bit 編碼通常用于發送數據消息,比如圖片和鈴聲等;
3、中文 pdu 編碼 發送中文時,必須用 UCS2(utf-16)進行編碼,最多可以發 140/2 = 70 個漢字。UniCode 編碼轉換也比較簡單,以中文為例,一個中文字符是兩個字節,直接對高位字節和低位字節進行十六進制轉換就可以了。如“歡迎”,UniCode 編碼是 6B22 8FCE,這同時也就是轉換的結果,如果發送的串中有英文字符,那么在前面補全 00,以保證一個字符對應兩個字節。
4、PDU 串的用戶信息(TP-UD)段最大容量是 140 字節,所以在這三種編碼方式下,可以發送的短消息的最大字符數分別是 160、140 和 70。這里,將一個英文字母、一個漢字和一個數據字節都視為一個字符。
三、地址編碼
短信發送中都會涉及到短信地址的問題,他們的編碼規則是一致的 , 簡單來說就是 BCD8421碼編碼。
如: 08 91 6808501505F0,08 :地址長度,(號碼類型 + 號碼長度)/2 的十六進制表示 91 :號碼類型
683108501505F0 :號碼,實際號碼應為: +86***,號碼處理方法為 , 如果為 +86 開始 , 將 + 號去掉 , 然后判斷是否為偶數 , 不是在末尾補 F, 然后將奇數位和偶數位互換
四、編碼示例
1、發送信息的 PDU 串:
用手機寫一條短信息,發送手機號碼為 ***,信息內容為“ Hello World!”。通過執行 AT + CMGL=2 可以讀出此條信息。
AT+CMGL=2 {讀未發短信息} +CMGL: 1,2,24 {1表示信息個數,2表示未發信息,24表示信息總容量} 08 91 683108501505F0 11 00 0B 81 3106656930F1 0000FF 0B E8329BFD06DDDF723619 OK 下面分析這條信息:
2、接收信息的 PDU 串
讀取以上發送出來的短信,可以收到如下信息 , 接受到來自 *** 的“歡迎”PDU 串為: 08 91 683108503705F0 04 0D 91 683106504562F7 00 08 30507080635400 046B228FCE。對以上的 PDU 串分析如下表:
五、接收短消息 一般有兩種接收模式.AT+CNMI=2,1,0,0,0 接受并存到 SIM 串口接收到以下信息: +CMTI:“SM”,X AT+CMGR=X回車
(從X存儲區讀短消息)AT+CMGD=X回車
(從X存儲區刪除短消息)PDU狀態: at+cmgf=0 OK +CMTI: “SM”,1 at+cmgr=1 +CMGR: 0,24 ***5 F0240D91683157805300F***81000462F11804 OK 文本狀態: +CMGR: “REC READ”,“+86 ***”,“05/02/28,0:20:18+00” bbc OK 2.AT+CNMI=2,2,0,0,0 接受并直接到串口 串口接受到以下信息: +CMT: “+86***”,“01/09/13,11:04:09+32” AAA 附錄:關于PDU模式發送短信:
第一,對模塊寫入 AT+CMGF=0<回車> 的AT命令(<回車> 要用 r 來實現),之后應該得到一個 OK 響應,才能繼續進行下一步;
第二,對模塊寫入 AT+CMGS=
響應(特別要注意:r是回車,n是換行,>是一個大于號,>后面還有一個空格!),才能繼續進行下一步;
第三,可以開始寫入要發送的內容了。這一部分只是PDU串中的一部分,并不是完整的PDU串(如前所述,去掉了SMSC地址那一部分),這一部分要以 Ctrl+Z 結尾,但是我們要知道,在字符串中要帶上 Ctrl+Z 的話,必須是用ACSII碼。Ctrl+Z的ASCII碼是16進制的 1A,所以你可以在你的字符串后面用strcat函數附加上 “x1A ” 來實現。這樣之后,如果發送成功,你就會收到GSM模塊的一個發送成功的響應,形如:
+CMGS: 246
OK 如果只有一個“OK”響應,沒有類似于“+CMGS: 246”的部分,則并不能發送成功!所以,當你只收到一個 OK 響應的時候,那肯定是哪里出錯了。