实例介绍
【实例截图】
【核心代码】
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Prodave6_CS; using System.Runtime.InteropServices; namespace ProDave6Test { class Test { static void Main(string[] args) { //以下测试LoadConnection_ex6 short ConNr= 63; // First connection;(0 ... 63);(max. 64 connections). string AccessPoint = "S7ONLINE"; // Default access point——S7ONLINE Prodave6_CS.Prodave6.CON_TABLE_TYPE ConTable ;// Connection table int ConTableLen = System.Runtime.InteropServices.Marshal.SizeOf(typeof(Prodave6_CS.Prodave6.CON_TABLE_TYPE)) ;// Length of the connection table int RetValue; ConTable.Adr=new byte[]{192,168,1,200,0,0}; ConTable.AdrType = 2; // Type of address: MPI/PB (1), IP (2), MAC (3) ConTable.SlotNr = 2; // 插槽号 ConTable.RackNr = 0; // 机架号 RetValue = Prodave6.LoadConnection_ex6(ConNr, AccessPoint, ConTableLen,ref ConTable); //以下测试SetActiveConnection_ex6 UInt16 UConNr = (UInt16)ConNr; RetValue = Prodave6.SetActiveConnection_ex6(UConNr); //以下测试db_write_ex6 UInt16 BlkNr = 4;//data block号 Prodave6.DatType DType = Prodave6.DatType.BYTE;//要读取的数据类型 UInt16 StartNr = 0;//起始地址号 UInt32 pAmount = 20;//需要读取类型的数量 UInt32 BufLen = 20;//缓冲区长度(字节为单位) //参数:data block号、要写入的数据类型、起始地址号、需要写入类型的数量、缓冲区长度(字节为单位)、缓冲区 byte[] pWriteBuffer = new byte[20]; for (int i = 0; i < pWriteBuffer.Length; i ) pWriteBuffer[i] = (byte)(i 1); RetValue = Prodave6.db_write_ex6(BlkNr, DType, StartNr, ref pAmount, BufLen, pWriteBuffer); //以下测试db_read_ex6 //参数:data block号、要读取的数据类型、起始地址号、需要读取类型的数量、缓冲区长度(字节为单位)、 //缓冲区、缓冲区数据交互的长度 byte[] pReadBuffer = new byte[20]; UInt32 pDatLen = 0; RetValue = Prodave6.db_read_ex6(BlkNr, DType, StartNr, ref pAmount, BufLen, pReadBuffer, ref pDatLen); //以下测试field_read_ex6(测试DB区) //参数:data block号、要读取的数据类型、起始地址号、需要读取类型的数量、缓冲区长度(字节为单位)、 //缓冲区、缓冲区数据交互的长度 Prodave6.FieldType FType = Prodave6.FieldType.D; for (int i = 0; i < pWriteBuffer.Length; i ) pWriteBuffer[i] = (byte)(i); RetValue = Prodave6.field_write_ex6(FType, BlkNr, StartNr, pAmount, BufLen, pWriteBuffer); //以下测试field_read_ex6(测试DB区) //参数:data block号、要读取的数据类型、起始地址号、需要读取类型的数量、缓冲区长度(字节为单位)、 //缓冲区、缓冲区数据交互的长度 byte[] pReadBuffer2 = new byte[20]; RetValue = Prodave6.field_read_ex6(FType, BlkNr, StartNr, pAmount, BufLen,pReadBuffer2, ref pDatLen); //以下测试field_read_ex6(测试M区) //参数:data block号、要读取的数据类型、起始地址号、需要读取类型的数量、缓冲区长度(字节为单位)、 //缓冲区、缓冲区数据交互的长度 Prodave6.FieldType FTypeM = Prodave6.FieldType.M; byte []pWriteBufferM = {2}; RetValue = Prodave6.field_write_ex6(FTypeM, 0, 100, 1, 1, pWriteBufferM); //以下测试field_read_ex6(测试M区) //参数:data block号、要读取的数据类型、起始地址号、需要读取类型的数量、缓冲区长度(字节为单位)、 //缓冲区、缓冲区数据交互的长度 byte[] pReadBufferM2 = new byte[1]; RetValue = Prodave6.field_read_ex6(FTypeM, 0, 100, 1, 1, pReadBufferM2, ref pDatLen); //以下测试mb_setbit_ex6 UInt16 MbNr = 100;//mb block号 UInt16 BitNr = 0;//位号 byte Value = 1;//0、1 RetValue = Prodave6.mb_setbit_ex6(MbNr,BitNr, Value); //以下测试mb_bittset_ex6(测试DB区) int pValue = 0; RetValue = Prodave6.mb_bittest_ex6(MbNr, BitNr, ref pValue); //以下测试GetLoadedConnections_ex6 BufLen = 64; int[] pBufferI = new int[64]; Prodave6.GetLoadedConnections_ex6(BufLen, pBufferI); //以下测试UnloadConnection_ex6 RetValue = Prodave6.UnloadConnection_ex6(UConNr); //以下测试GetErrorMessage_ex6 int ErrorNr = 0x7040; // Block boundary exceeded, correct the number StringBuilder Buffer = new StringBuilder(300); // Transfer buffer for error text BufLen = (UInt32)Buffer.Capacity; // Buffer length RetValue = Prodave6.GetErrorMessage_ex6(ErrorNr, BufLen, Buffer); //以下测试float_2_gp_ex6 float ieee = 1.2F; UInt32 gp=0; float pieee=0; RetValue = Prodave6.float_2_gp_ex6(ieee, ref gp); RetValue = Prodave6.gp_2_float_ex6(gp,ref pieee); //以下测试gp_2_float_ex6 RetValue = Prodave6.testbit_ex6(7, 0); RetValue = Prodave6.testbit_ex6(7, 1); RetValue = Prodave6.testbit_ex6(7, 2); RetValue = Prodave6.testbit_ex6(7, 3); RetValue = Prodave6.testbit_ex6(7, 4); RetValue = Prodave6.testbit_ex6(7, 5); RetValue = Prodave6.testbit_ex6(7, 6); RetValue = Prodave6.testbit_ex6(7, 7); //以下测试byte_2_bool_ex6 int [] boolValue=new int[8]; Prodave6.byte_2_bool_ex6(255, boolValue); //以下测试bool_2_byte_ex6 byte byteValue; byteValue=Prodave6.bool_2_byte_ex6(boolValue); //以下测试kf_2_integer_ex6和kf_2_long_ex6 UInt16 u16=25600;UInt16 u16_; u16_=Prodave6.kf_2_integer_ex6(u16); UInt32 u32 = 1677721600; UInt32 u32_; u32_=Prodave6.kf_2_long_ex6(u32); //以下测试swab_buffer_ex6(byte[] pBuffer, UInt32 Amount) byte[] pBuffer=new byte[11]; UInt32 Amount=(UInt32)pBuffer.Length; for (int i = 0; i < Amount; i ) pBuffer[i] = (byte)(i 1); Prodave6.swab_buffer_ex6(pBuffer, 6); //以下测试copy_buffer_ex6 byte[] pSourceBuffer={1,2,3,4,5,6,7,8,9,10}; byte[] pTargetBuffer=new byte[10]; Prodave6.copy_buffer_ex6( pTargetBuffer, pSourceBuffer,8); //以下测试ushort_2_bcd_ex6 UInt16[] pwValues = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }; Prodave6.ushort_2_bcd_ex6(pwValues, 10, 0, 0); //以下测试bcd_2_ushort_ex6 Prodave6.bcd_2_ushort_ex6(pwValues, 10, 0, 0); UInt32[] pdwValues = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }; //以下测试ulong_2_bcd_ex6 Prodave6.ulong_2_bcd_ex6(pdwValues,8, 0, 0); //以下测试bcd_2_ulong_ex6 Prodave6.bcd_2_ulong_ex6(pdwValues, 8, 0, 0); //以下测试自定义辅助函数 byte[] test_bytes = { 1, 2 }; byte[] test_bytes2 = { 1, 2,3,4 }; UInt16[] test_words={1,2}; UInt16 word = Prodave6.bytes_2_word(test_bytes[0], test_bytes[1]); UInt32 dword = Prodave6.bytes_2_dword(test_bytes2[0], test_bytes2[1], test_bytes2[2], test_bytes2[3]); UInt32 dword2 = Prodave6.words_2_dword(test_words[0], test_words[1]); byte[] return_bytes = Prodave6.word_2_bytes(word); byte[] return_bytes2 = Prodave6.dword_2_bytes(dword); ushort[] return_words = Prodave6.dword_2_words(dword2); } } }
【文档目录】
Contents 1 Introduction 1-1 2 Installation 2-1 2.1 Automation License Manager........................................................................2-1 2.1.1 User Rights through the Automation License Manager ....................................2-1 2.1.2 Installing the Automation License Manager......................................................2-3 2.1.3 Guidelines for Handling License Keys ..............................................................2-4 2.2 Installing PRODAVE MPI/IE V6.0 ...................................................................2-5 2.2.1 Installation Procedure .......................................................................................2-6 2.2.2 Setting the PG/PC Interface..............................................................................2-8 2.3 Uninstalling PRODAVE MPI/IE V6.0 ............................................................2-10 2.3.1 Uninstalling PRODAVE MPI/IE V6.0...............................................................2-10 3 New Functions as of PRODAVE MPI/IE V6.0 3-1 3.1 Basic Functions ..............................................................................................3-4 3.1.1 LoadConnection_ex6 ........................................................................................3-4 3.1.2 UnloadConnection_ex6.....................................................................................3-7 3.1.3 SetActiveConnection_ex6.................................................................................3-8 3.1.4 SetPassword_ex6 .............................................................................................3-9 3.1.5 UnSetPassword_ex6.......................................................................................3-10 3.1.6 as_info_ex6.....................................................................................................3-11 3.1.7 as_zustand_ex6 ..............................................................................................3-13 3.1.8 db_buch_ex6...................................................................................................3-15 3.1.9 db_read_ex6 ...................................................................................................3-17 3.1.10 db_write_ex6...................................................................................................3-19 3.1.11 bst_read_diag_ex6..........................................................................................3-21 3.1.12 bst_read_stat_ex6...........................................................................................3-23 3.1.13 bst_read_ex6 ..................................................................................................3-25 3.1.14 read_diag_buf_ex6 .........................................................................................3-29 3.1.15 field_read_ex6.................................................................................................3-31 3.1.16 field_write_ex6 ................................................................................................3-33 3.1.17 mb_setbit_ex6.................................................................................................3-35 3.1.18 mb_bittest_ex6................................................................................................3-37 Contents PRODAVE MPI/IE V6.0 viii A5E00388168-01 3.2 Functions for Data Transfer to S7-200........................................................3-39 3.2.1 as200_as_info_ex6.........................................................................................3-39 3.2.2 as200_as_zustand_ex6 ..................................................................................3-41 3.2.3 as200_field_read_ex6.....................................................................................3-43 3.2.4 as200_field_write_ex6 ....................................................................................3-45 3.2.5 as200_mb_setbit_ex6 .....................................................................................3-47 3.2.6 as200_mb_bittest_ex6....................................................................................3-49 3.3 Convenience Functions................................................................................3-51 3.3.1 GetErrorMessage_ex6 ....................................................................................3-51 3.3.2 kg_2_float_ex6................................................................................................3-55 3.3.3 float_2_kg_ex6................................................................................................3-56 3.3.4 gp_2_float_ex6................................................................................................3-57 3.3.5 float_2_gp_ex6................................................................................................3-58 3.3.6 testbit_ex6.......................................................................................................3-59 3.3.7 byte_2_bool_ex6.............................................................................................3-60 3.3.8 bool_2_byte_ex6.............................................................................................3-62 3.3.9 kf_2_integer_ex6, kf_2_long_ex6 ...................................................................3-64 3.3.10 swab_buffer_ex6.............................................................................................3-66 3.3.11 copy_buffer_ex6..............................................................................................3-67 3.3.12 ushort_2_bcd_ex6, ulong_2_bcd_ex6............................................................3-68 3.3.13 bcd_2_ushort_ex6, bcd_2_ulong_ex6............................................................3-70 3.3.14 GetLoadedConnections_ex6...........................................................................3-72 3.4 TeleService Functions..................................................................................3-73 3.4.1 ts_dial_ex6 ......................................................................................................3-73 3.4.2 ts_hang_up_dial_ex6......................................................................................3-75 3.4.3 ts_set_ringindicator_ex6 .................................................................................3-76 3.4.4 ts_read_info_ex6.............................................................................................3-78 3.4.5 ts_hang_up_ring_ex6......................................................................................3-79 3.4.6 ts_get_modem_name_ex6..............................................................................3-80
标签: 程序
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论