将excel表格中的变量导入s7300的db块中赵根海
StepDB块导出到EXCEL
没有咱工程师解决不了的事儿:工作、兴趣、热情有一次,同事想把做实验时的数据记录下来分析,但是实验现场没有上位电脑记录数据,只有一台S7-300的PLC,同事问起该怎么办呢?我当时冒出一个想法:PLC的内在很大,可以把数据记录在那里吗?同事问完后便过去了没再提,而我象很多工控工程师那样,遇到问题便有一股想解决它的冲动,动手开始干:第一步,编写一个可以按时间记录数据的程序。
这个程序原理不复杂,就是做一个时间循环,每一次循环记录一次数据,同时地址指针加1。
这个程序在其它PLC机型上做过,但是在s7-300上做的时候却遇到了一个小问题,开始用梯形图写这个小程序时怎么也找不到地址指针的正确写法?后来用语句表试着写,居然成功了(S7-300梯形图不支持形如DBW[MD30]的地址格式)。
下图便是写好的程序。
程序每6S一次将模拟量PIW0的值记录到数据块DB1当中。
程序写好了,马上挂上PLCSIM试一个效果,为了方便看出记录的效果,在测试程序时将记录PIW0暂时改成了记录MW20,并且每记录一次MW20加1。
记录的效果就是下面那张图,呵呵,用PLC的数据块记录数据的功能实现了。
数据记录到DB块里后新问题出来了,怎样把这些数据导出来呢?试着复制,不行。
查看菜单和工具栏,没有发现方法。
网络时代还可以上网查嘛,终于有了发现,通过试验我找到了将DB块的数据导出到EXCEL文档的方法,并且把自己的操作步骤记录了下来:Step7 DB块导出到EXCEL通过菜单命令“File>Generate Source”生成此数据块的源文件,该文件位于SIMATIC Source的文件夹中。
在SIMATIC Manager中选择需要编辑的源文件,点击右键弹出菜单,选择“Export Source”,保存了文件类型为:awl。
用EXCEL打开该源文件,在EXCEL文本导入/导出对话框选择“Tab键”和“空格”作为分隔符。
导出的结果就是下面那张图这个小故事也许就是工控工程师解决的千百个问题之一,是工控工程师成长中点点滴滴的积累之一,做这些既是因为它是工控工程师的工作,又是兴趣,又是默默无闻里的对这个行业的热情。
由EXCEL文件导入PLC模块的操作方法
宽度 以下项之间的距离 每个图形的阶梯数 每个阶梯的横档数
横档间距 I/O 启动时跳过横档计数 抑制 信号箭头样式
模块 PLC 图形样式
输入距中性点的偏移值
输出距热母线的偏移值
z X 区域:与 X-Y 网格类似,但没有 Y 轴。在 X 区域设置对话框中,可以设置图 形的水平标签、间距和原点。
提示 如果希望区域参考原点在图形的右 侧,请使用负的区域间距值。
注意 确保您的模板不包含任何现有阶梯。
保存
将要重复使用的电子表格信息保存在 .wdi 文件中。保存新 .wdi 文件后,将重新显示“电子表格到 PLC I/O 实用程序”对话框,新 .wdi 文件名将显示在“设置”编辑框中。
电子表格/表格列
显示用于查看并将电子表格列映射到 PLC 模块符号上属性的“电子表格到 PLC I/O 图形生成器”对话 框。
图形模板
您可以强制此工具使用用于新图形的特定模板。输入含完整路径的模板图形文件名,或单击“浏览”以搜
索现有模板(这样将在保存所有用户图形模板的 AutoCAD 模板文件夹中进行搜索)。对于当前默认模 板,将保留该值为空。如果您不想使用模板图形,请在编辑框中输入一个圆点。
指定输入模块插入偏移距离(垂直阶梯 方向 – 沿右侧垂直母线的 +X 方向测量 的值,水平阶梯方向 – 沿下部水平母线 的 +Y 方向测量的值)。
指定输出模块插入偏移距离(垂直阶梯 方向 – 沿左侧垂直母线的 -X 方向测量 的值,水平阶梯方向 – 沿上部水平母线 的 -Y 方向测量的值)。
注意 如果无法确定模块类型,或者模块 类型为输入和输出的组合,则会将模块 插入阶梯中部。
A B
C
2. 在“电子表格到 PLC I/O 实用程序”对话框中,单击“设置”。
DB与Excel相互转换的实现方法
DB与Excel相互转换的实现方法在实际工作中,常常需要把某些相关数据导入到DB(数据库)中,以便实现数据的共享与查询,如何利用已有的Excel数据已成为一个棘手问题;另外,由于Excel具有强大的数据处理和数据分析功能,也常需要将DB中的数据导入到Excel中进行相应地统计分析。
本文通过具体实例讨论了DB与Excel 之间实现相互转换的方法。
1 Excel与DB的相互转换软件开发工具为VB,数据库为Access。
VB是微软公司开发的、事件驱动的编程语言,具有强大的数据处理功能。
它提供了对多种数据库的访问方法,可以方便地访问SQL Server、Oracle、Access等数据库。
Access 是微软公司开发的基于Windows的桌面关系数据库管理系统。
它为建立功能完善的数据库管理系统提供了方便。
1.1 DB To Excel实现数据库表中数据自动转存到Excel表中。
例如,已有一文件名“AA.mdb”的Access数据库文件,该数据库中有一名为“番禺区农用地标准样地属性数据表”的数据表,数据表如图1所示。
在VB中,引用“Microsoft ActiveX Data Objects 2.6 Library”和“Microsoft Excel 11.0 Object Library”,即ADO对象和Excel对象。
通过ADO对象访问数据库实现DB到Excel的转换。
程序代码如下:Dim cnn As New ADODB.Connection '数据库连接对象Dim rs As New Recordset '记录集对象Dim VBExcel As Excel.Application '定义一个Excel应用Dim Excelbook As Excel.Workbook '定义一个Excel工作簿Dim ExcelSheet As Excel.Worksheet '定义一个Excel工作表Dim ExcelFilename As String'Excel文件名Dim TableName As String '数据库表名Dim s As StringDim i, j As IntegerDim row As Integer '记录数TableName = "番禺区农用地标准样地属性数据表"Set VBExcel = CreateObject("Excel.Application") '创建Excel对象Set Excelbook = VBExcel.Workbooks().Add '生成工作簿Set ExcelSheet = Excelbook.Worksheets("Sheet1") '生成工作表s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\AA.mdb" '连接Access cnn.Open s '打开Accessrs.Open "select * from " & TableName, cnn'......统计记录数rs.MoveFirstDo While Not rs.EOFrow = row + 1rs.MoveNextLoopWith Excelbook.ActiveSheet'......Excel表中第1行存放字段名i = 1For j = 1 To rs.Fields.Count.Cells(i, j) = rs.Fields(j - 1).NameNext j'......Excel表中第2行开始存放记录rs.MoveFirstFor i = 1 To rowFor j = 1 To rs.Fields.Count.Cells(i + 1, j) = rs.Fields(j - 1).ValueNext jrs.MoveNextNext iEnd WithVBExcel.Application.Visible = TrueExcelbook.SaveAs App.Path & "\" & TableName '生成的Excel文件名与数据表文件名一致Set VBExcel = NothingSet Excelbook = NothingSet ExcelSheet = Nothing程序运行后,在当前应用所在路径下自动创建名为“番禺区农用地标准样地属性数据表”的Excel文件,实现了将Access数据库相应数据表中的数据自动导入到Excel表中,结果如图2所示。
VBA实现Excel的数据导入与处理
VBA实现Excel的数据导入与处理数据导入与处理是Excel中一个重要的功能,可以通过VBA编程实现自动化操作,提高工作效率。
本文将介绍如何使用VBA编程实现Excel的数据导入与处理。
首先,我们需要创建一个新的Excel工作簿并打开VBA编辑器。
在VBA编辑器中,我们需要添加以下引用:```Microsoft Excel 16.0 Object Library```这个引用将允许我们使用Excel的对象和方法。
一般来说,我们需要使用文件对话框来选择要导入的数据文件。
以下是一个简单的VBA代码示例,用于实现文件对话框功能:```vbaSub SelectFile()Dim MyFile As Variant'创建文件对话框对象With Application.FileDialog(msoFileDialogFilePicker).Title = "选择要导入的数据文件".AllowMultiSelect = False.Filters.Clear.Filters.Add "Excel Files", "*.xlsx; *.xlsm; *.xls" .Show'获取选择的文件路径If .SelectedItems.Count > 0 ThenMyFile = .SelectedItems(1)ElseExit SubEnd IfEnd With'导入数据到工作簿ImportData MyFileEnd Sub```在上述代码中,我们使用了`FileDialog`对象来创建一个文件对话框,设置了对话框的标题、允许选择的文件类型,并显示对话框。
选择的文件路径存储在`MyFile`变量中,然后将文件路径作为参数调用`ImportData`子过程来导入数据。
接下来,我们需要定义一个`ImportData`子过程,用于将选择的文件中的数据导入到Excel工作簿中:```vbaSub ImportData(MyFile As Variant)Dim wb As WorkbookDim ws As WorksheetDim srcRange As RangeDim dstRange As Range'打开选择的文件并复制数据Set wb = Workbooks.Open(MyFile)Set ws = wb.Sheets(1)'定义数据源和目标范围Set srcRange = edRangeSet dstRange = ThisWorkbook.Sheets(1).Cells(1, 1)'将源范围数据复制到目标范围srcRange.Copy dstRange'关闭选择的文件wb.Close SaveChanges:=False'进行数据处理操作ProcessData dstRangeEnd Sub```在上述代码中,我们首先打开选择的文件并复制数据到一个源范围(`srcRange`)中。
Step7下DB数据块导入导出EXCEL
Step 7 5.5 下DB数据块导入导出及DB当前值存储为默认值
1、导出DB数据块
打开一个DB块
生成源文件
输入文件名DB5,确认
选中你要导出的DB块
在Source> DB5>右键>导出源文件
在“导出源文件”对话框中确定源文件导出文件类型,选择“STL source (*.awl)”作为文件类型且文件名中必须包含扩展名“.AWL ”。
2、打开AWL文件
打开excel软件,在excel软件中选择打开命令(选择所有文件)
打开后选择全文,将对齐方式选择为“右对齐”
将修改好的文件另存为“.prn”的文件(保存的文件后缀名改一下 .prn > .awl)将“.awl”的文件导入到S7源文件中,编译通过即可。
保存的文件后缀名改一下.prn > .awl
3、将excel生成后的文件导入S7
Sources >插入新对象>外部文件选择刚才重命名的awl文件双击.awl
注意DB号,每句结束的; 保存编译,
没有出错的话,就导入导出完成.。
S7300常用操作说明.doc
实用标准文档利用 STEP7 监视输入输出量的方法DP:高速数据传送1、打开 PLC 软件。
运行 STEP7,打开 PLC 软件,将左侧的文件夹层层展开直到选中Blocks ,如下图所示:2、找到 VAT 块。
在右侧找到VAT_ ??的块,双击打开。
一般此块排列在所有块的最后面,名称以VAT 开头,后跟的下划线后的名称可能不一样,可以不管,如有不止一个,可以任意打开一个。
如下图:3、插入 VAT 块。
如没有找到此块,可以在自行添加一个,操作如下图,在右侧窗口空白处点击鼠标右键,选择 Insert New Object( 插入新对象 )—— Variable Table(变量表 )4、选中后将出现如下窗口5、打开 VAT 块。
点击 OK 按钮即可生成VAT_1 块。
打开 VAT 块,如下图:在 Address 一列中输入想要监视的地址,如需要监视第一流自动转换开关状态,则察看接口表7、监视数字量输入点。
如上图,察看接口表得知,第一流转换开关的自动档输入点为I0.0 ,第二流转换开关的自动档输入点为 I4.0 。
将这两个地址输入到VAT 窗口中的Address 一栏中,如图:在第一行中输入I0.0 后,回车后,光标自动移到第二行,第三列的Display format自动设为BOOL 类型。
在保证工控机与PLC 联接正常的情况下,可以点上图方框所示的Monitor Variable 按钮,则情况应如下图所示,窗口的标题栏变为高亮的青色,窗口右下角的RUN 状态栏有绿色状态条不断闪动。
下图所示的监视结果,I0.0 结果为绿色, true, I0.4 结果为灰色, false,表明第一流转换开关处于手动档,第二流转换开关不处于手动档。
9、错误判断。
如在 Address 栏中输入要监视的量后字变为红色,说明输入有误,例如:10、修改显示格式。
所有的数字量输入输出点的数据类型都是BOOL 型,即输入要监视的点后,使用系统给出的默认Display format (显示格式)BOOL 就可以了,如要监视模拟量输入点(模拟量输出点无法用VAT 监视),应该将显示格式改为Decimal 如下图所示,如需要监视第一流的液位采样输入点,看接口表得知,此点地址为386,则在 VAT 窗口的 Address(地址)一栏中输入PIW386 ,在 Display format 一栏中点右键,选择Decimal :11、监视模拟量输入。
将Excel文件数据导入到SqlServer数据库的三种方案
将Excel⽂件数据导⼊到SqlServer数据库的三种⽅案最近在⼀个项⽬中需要⽤到Excel⽂件导⼊数据库的功能,本⼈很懒,所以到⽹上搜了⼀堆⽅法,但是通过对⽐,觉得⼀下三种是⽐较好⽤或者不是很常见的⽅法,希望对⼤家有所帮助。
⽅案⼀:通过OleDB⽅式获取Excel⽂件的数据,然后通过DataSet中转到SQL Server,这种⽅法的优点是⾮常的灵活,可以对Excel表中的各个单元格进⾏⽤户所需的操作。
1. openFileDialog = new OpenFileDialog();2. openFileDialog.Filter = "Excel files(*.xls)|*.xls";3.4. if(openFileDialog.ShowDialog()==DialogResult.OK)5. {6. FileInfo fileInfo = new FileInfo(openFileDialog.FileName);7. string filePath = fileInfo.FullName;8. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";9.10. try11. {12. OleDbConnection oleDbConnection = new OleDbConnection(connExcel);13. oleDbConnection.Open();14.15. //获取excel表16. DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);17.18. //获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素19. string tableName = dataTable.Rows[0][2].ToString().Trim();20. tableName = "[" + tableName.Replace("'","") + "]";21.22. //利⽤SQL语句从Excel⽂件⾥获取数据23. //string query = "SELECT classDate,classPlace,classTeacher,classTitle,classID FROM " + tableName;24. string query = "SELECT ⽇期,开课城市,讲师,课程名称,持续时间 FROM " + tableName;25. dataSet = new DataSet();26.27. //OleDbCommand oleCommand = new OleDbCommand(query, oleDbConnection);28. //OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);29. OleDbDataAdapter oleAdapter = new OleDbDataAdapter(query,connExcel);30. oleAdapter.Fill(dataSet,"gch_Class_Info");31. //从excel⽂件获得数据后,插⼊记录到SQL Server的数据表32. DataTable dataTable1 = new DataTable();33.34. SqlDataAdapter sqlDA1 = new SqlDataAdapter(@"SELECT classID, classDate,35. classPlace, classTeacher, classTitle, durativeDate FROM gch_Class_Info",sqlConnection1);36.37. //SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);38.39. sqlDA1.Fill(dataTable1);40.41. foreach(DataRow dataRow in dataSet.Tables["gch_Class_Info"].Rows)42. {43. DataRow dataRow1 = dataTable1.NewRow();44.45. dataRow1["classDate"] = dataRow["⽇期"];46. dataRow1["classPlace"] = dataRow["开课城市"];47. dataRow1["classTeacher"] = dataRow["讲师"];48. dataRow1["classTitle"] = dataRow["课程名称"];49. dataRow1["durativeDate"] = dataRow["持续时间"];50.51. dataTable1.Rows.Add(dataRow1);52. }53.54. Console.WriteLine("新插⼊ " + dataTable1.Rows.Count.ToString() + " 条记录");55. sqlDA1.Update(dataTable1);56.57. oleDbConnection.Close();58.59. }60. catch(Exception ex)61. {62. Console.WriteLine(ex.ToString());63. }64. }⽅案⼆:直接通过SQL语句执⾏SQL Server的功能函数将Excel⽂件转换到SQL Server数据库。
Excel格式的IO表内容导入到Step7符号表中
可以使用Excel。
通常处理符号表的方法:
a,可以在硬件组态中选择模块,右键选择Edit Symbol输入;
b,可以在编写程序时,点击某个输入输出,右键选择Edit Symbol
3 现在,通过“Symbol Table > Import...”导入已符号表。
c,可以通过Excel输入。
ห้องสมุดไป่ตู้
下面简单介绍通过Excel输入
1,打开中的符号表,并通过“Symbol Table > Export...”将它导出,文件类型选择 DIF;选择其它的格式虽然可以在excel中打开编辑,但是格式没有DIF格式这么好处理;
2 使用 Excel 编辑该 DIF 文件,可以从自己的IO对应表中通过复制粘贴的方式完成符号表的制作;格式一目了然;
在step7中如何将EXCEL文件导入DB块中
1.在EXCEL中建立表格,输入DB数据块的值,一列输入变量名,另外一列
输入数据类型:
2.初始值
如果DB块不需要赋初值,跳过到第三步。
若不是,给变量赋初值(E列)。
3.建议在上述表格中增加如下几列:
(1)在变量名列后增加一列“:”
(2)在数据类型列后增加一列“:=”
(3)最后加上一列“;”
注意:每条指令必须以字符“;”结束,否则在后面会出现编译错误。
4.另存为带“格式文本文件”此时文件类型是“.prn”
点击保存→确定→是
5.将已保存的文件重命名为“.awl”类型的文件。
6.打开step7 在SIMIATIC Manager中选择sources文件夹,选择菜单栏的Insert→External Source。
在保存路径中选中所创建的AWL文件。
点击“OPEN”7.双击导入的STL SOURCE,打开文件,选择菜单栏的Insert→Block
Template DB。
8.删除多余的附加说明(绿色文本),将变量表剪切,黏贴到“STRUCT”和“END_STRUCT”中间。
设置合适的DB块(“DATA_BLOCK DBXX”)删除掉变量“b0”以及“BEGIN”和“END_DATE_BLOCK”中的指令“b0:=6#16#01”
形成上图的形式。
9.点击“保存”再编译,如果编译通过则此DB块会在DB块文件夹中生成并保存。
Step7 DB块导出到EXCEL
没有咱工程师解决不了的事儿:工作、兴趣、热情有一次,同事想把做实验时的数据记录下来分析,但是实验现场没有上位电脑记录数据,只有一台S7-300的PLC,同事问起该怎么办呢?我当时冒出一个想法:PLC的内在很大,可以把数据记录在那里吗?同事问完后便过去了没再提,而我象很多工控工程师那样,遇到问题便有一股想解决它的冲动,动手开始干:第一步,编写一个可以按时间记录数据的程序。
这个程序原理不复杂,就是做一个时间循环,每一次循环记录一次数据,同时地址指针加1。
这个程序在其它PLC机型上做过,但是在s7-300上做的时候却遇到了一个小问题,开始用梯形图写这个小程序时怎么也找不到地址指针的正确写法?后来用语句表试着写,居然成功了(S7-300梯形图不支持形如DBW[MD30]的地址格式)。
下图便是写好的程序。
程序每6S一次将模拟量PIW0的值记录到数据块DB1当中。
程序写好了,马上挂上PLCSIM试一个效果,为了方便看出记录的效果,在测试程序时将记录PIW0暂时改成了记录MW20,并且每记录一次MW20加1。
记录的效果就是下面那张图,呵呵,用PLC的数据块记录数据的功能实现了。
数据记录到DB块里后新问题出来了,怎样把这些数据导出来呢?试着复制,不行。
查看菜单和工具栏,没有发现方法。
网络时代还可以上网查嘛,终于有了发现,通过试验我找到了将DB块的数据导出到EXCEL文档的方法,并且把自己的操作步骤记录了下来:Step7 DB块导出到EXCEL通过菜单命令“File>Generate Source”生成此数据块的源文件,该文件位于SIMATIC Source的文件夹中。
在SIMATIC Manager中选择需要编辑的源文件,点击右键弹出菜单,选择“Export Source”,保存了文件类型为:awl。
用EXCEL打开该源文件,在EXCEL文本导入/导出对话框选择“Tab键”和“空格”作为分隔符。
导出的结果就是下面那张图这个小故事也许就是工控工程师解决的千百个问题之一,是工控工程师成长中点点滴滴的积累之一,做这些既是因为它是工控工程师的工作,又是兴趣,又是默默无闻里的对这个行业的热情。
Step7 DB块导出到EXCEL
没有咱工程师解决不了的事儿:工作.兴致.热忱有一次, 同事想把做实验时的数据记载下来剖析,但是实验现场没有上位电脑记载数据,只有一台S7-300的PLC,同事问起该怎么办呢?我当时冒出一个设法主意:PLC的内涵很大,可以把数据记载在那边吗?同事问完后便曩昔了没再提,而我象许多工控工程师那样,碰到问题便有一股想解决它的冲动,着手开端干:第一步,编写一个可以按时光记载数据的程序.这个程序道理不庞杂,就是做一个时光轮回,每一次轮回记载一次数据,同时地址指针加1.这个程序在其它PLC机型上做过,但是在s7-300上做的时刻却碰到了一个小问题,开端用梯形图写这个小程序时怎么也找不到地址指针的准确写法?后来用语句表试着写,居然成功了(S7-300梯形图不支撑形如DBW[MD30]的地址格局).下图等于写好的程序.程序每6S一次将模仿量PIW0的值记载到数据块DB1当中.程序写好了,立时挂上PLCSIM试一个后果,为了便利看出记载的后果,在测试程序时将记载PIW0临时改成了记载MW20,并且每记载一次MW20加1.记载的后果就是下面那张图,呵呵,用PLC的数据块记载数据的功效实现了.数据记载到DB块里后新问题出来了,如何把这些数据导出来呢?试着复制,不成.检讨菜单和对象栏,没有发明办法.收集时期还可以上彀查嘛,终于有了发明,经由过程实验我找到了将DB 块的数据导出到EXCEL文档的办法,并且把本身的操纵步调记载了下来:Step7 DB块导出到EXCEL经由过程菜单敕令“File>Generate Source”生成此数据块的源文件,该文件位于SIMATIC Source的文件夹中.在SIMATIC Manager中选择须要编辑的源文件,点击右键弹出菜单,选择“Export Source”,保管了文件类型为:awl.用EXCEL打开该源文件,在EXCEL文本导入/导出对话框选择“Tab键”和“空格”作为分隔符.导出的成果就是下面那张图这个小故事也许就是工控工程师解决的千百个问题之一,是工控工程师成长中点点滴滴的积聚之一,做这些既是因为它是工控工程师的工作,又是兴致,又是默默无闻里的对这个行业的热忱.。
Step7下DB数据块导入导出EXCEL
Step 7 5.5 下 DB
页眉内容
数据块导入导出及DB 当前值存储为默认值
1、导出 DB 数据块
打开一个 DB 块
生成源文件
输入文件名DB5, 确认
选中你要导出的DB 块
在 Source> DB5> 右键 >导出源文件
在“导出源文件”对话框中确定源文件导出文件类型,选择“
名“ .AWL”。
STL source (*.awl) ” 作为文件类型且文件名中必须包含扩展2、打开 AWL 文件
打开 excel 软件,在excel 软件中选择打开命令(选择所有文件)
打开后选择全文,将对齐方式选择为“右对齐”
将修改好的文件另存为“.prn”的文件(保存的文件后缀名改一下.prn > .awl )
将“ .awl ”的文件导入到S7 源文件中,编译通过即可。
保存的文件后缀名改一下.prn > .awl
3、将 excel 生成后的文件导入S7
Sources >插入新对象>外部文件选择刚才重命名的awl 文件
双击.awl
注意DB 号 ,每句结束的 ;保存编译,
没有出错的话,就导入导出完成.。
vb编程把excel中的数据导入SQLSERVER数据库
vb编程把excel中的数据导入SQLSERVER数据库把excel中的数据导入SQL SERVER数据库(access数据类似):Private Sub Command1_Click()Dim strconn As String ' 定义Excel 连接字符串Dim cn As ADODB.Connection ' 定义Excel 连接Set cn = New ADODB.Connection' 初始化commandialog1 的属性,选取Excel 文件,文' 件名保存在CommanDialog1.filename 中备用CommonDialog1.Filter = " 电子表格文件(.xls) |*.xls"CommonDialog1.DialogTitle = " 请选择要导入的文件"CommonDialog1.ShowOpen' 设置连接SQL 数据库的连接字符串strtemp = " [odbc;Driver= {SQL Server} ;Server=(local);Database=Afws;UID=sa;PWD=sa]"' 设置Excel 数据连接strconn = " Provider =Microsoft.Jet.OLEDB.4.0;Data Source=" & CommonDialog1.FileName & " ; Extended Properties=Excel 8.0"cn.Open strconnstrSql = "insert into " & strtemp & ".hw_level1 select * from [sheet1$]"cn.Execute strSql, lngRecsAff, adExecuteNoRecordsMsgBox " 成功导入到SQL 数据库中!", vbExclamation + vbOKOnlycn.CloseSet cn = Nothing End Su。
Step7下DB数据块导入导出EXCEL
Step75.5下DB数据块导入导出及DB当前值存储为默认值
1、导出DB数据块
打开一个DB块
生成源文件
输入文件名DB5,确认
选中你要导出的DB块
在Source>DB5>右键>导出源文件
在“导出源文件”对话框中确定源文件导出文件类型,选择“STLsource(*.awl)”作为文件类型且文件名中必须
包含扩展名“.AWL”。
2、打开AWL文件
打开excel软件,在excel软件中选择打开命令(选择所有文件)
打开后选择全文,将对齐方式选择为“右对齐”
将修改好的文件另存为“.prn”的文件?(保存的文件后缀名改一下.prn>.awl)
将“.awl”的文件导入到S7源文件中,编译通过即可。
保存的文件后缀名改一下.prn>.awl
3、将excel生成后的文件导
入S7
Sources>插入新对象>外部文件选择刚
才重命名的awl文件
双击.awl
注意DB号,每句结束的;保存编译,
没有出错的话,就导入导出完成.。
Step7下DB数据块导入导出EXCEL
Step 7 5.5 下DB数据块导入导出及DB当前值存储为默认值
1、导出DB数据块
打开一个DB块
生成源文件
输入文件名DB5,确认
选中你要导出的DB块
在Source> DB5>右键>导出源文件
名“.AWL ”。
2、打开AWL文件
打开excel软件,在excel软件中选择打开命令(选择所有文件)
打开后选择全文,将对齐方式选择为“右对齐”
将修改好的文件另存为“.prn”的文件(保存的文件后缀名改一下 .prn > .awl)将“.awl”的文件导入到S7源文件中,编译通过即可。
保存的文件后缀名改一下.prn > .awl
3、将excel生成后的文件导入S7
Sources >插入新对象>外部文件选择刚才重命名的awl文件
双击.awl
注意DB号,每句结束的; 保存编译, 没有出错的话,就导入导出完成.。
如何操作Excel读取数据导入DB2数据库-电脑资料
如何操作Excel读取数据导入DB2数据库-电脑资料最近项目需要读取Excel,将数据导入数据库保存,最终可以用报表读取数据库并显示,比较简单,。
查了一下两者的资料,觉的也无所谓,我需要的功能比较简单,只要能读取Excel数据就行,最后决定使用POI,比较信任apache下面附的代码是一个Demo,功能点有两个:一就是POI读取Excel,二是DB2数据库的连接和SQL执行。
现在的问题就是这样做的话代码太死,针对一张Excel表就要编写一个专门的转换类,太麻烦了,要考虑怎么实现一个通用转换类。
import java.io.FileInputStream;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import ermodel.HSSFCell;import ermodel.HSSFRow;import ermodel.HSSFSheet;import ermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class POITest {private static Connection conn = null;private static Statement stmt = null;private static boolean connectDB2() {String url = "";String username = "username";String password = "password";//加载驱动程序以连接数据库try {//添加类库驱动包db2jcc.jar和db2jcc_license_cu.jarClass.forName("com.ibm.db2.jcc.DB2Driver");url = "jdbc:db2://192.168.0.1:50000/dbname";//添加类库驱动包db2java.jar//Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newIns tance();//url = "jdbc:db2:njtcdata";conn = DriverManager.getConnection(url, username, password);stmt = conn.createStatement();}//捕获加载驱动程序异常catch (ClassNotFoundException cnfex) {System.err.println("装载JDBC驱动程序失败。
s7300及s7200的mpi通讯以及mcgs组态超详细教程
s7300及s7200的mpi通讯以及mcgs组态超详细教程S7300 与 S7200之间的mpi通讯和组态在通讯之前先得确认cpu没有报任何错误,首先硬件组态,组态完毕后下载进CPU 下载后先在线看是否有错误cpu指示灯是否有SF BF报警灯亮。
(BF1灯亮为通信故障检查电缆是否松动接触不良,九针接口螺丝拧紧)(SF灯亮为硬件组态出错)首先打开STEP7 SP9 200编程软件写入测温程序公式为 T = 500 * (AIWX – 6400)/(32000 – 6400) – 0化简后 T = 5 * (AIWX - 6400)/256由通道18转换上来的数值为word类型而温度要显示小数点后的数值就需要转换为浮点形的数据,浮点型的数据为32位二进制数,所以就有了如上的转换,接着乘5除256即出现最终的温度值。
也可用库来调用,这样方便一些温度转换程序的结果说明程序无问题可正常测温。
接着打开通讯设置为PLC地址为2 波特率设置为187.5kbps点确认下载一次即可。
然后打开博途,组态硬件。
在硬件组态完成后确认CPU没有任何错误信息错误指示灯亮。
如有即是组态错误。
将地址设置为3 传输率设置为187.5kbps 如设备中含有cp通信模块cpu会自动加1的地址。
Mpi地址不可相同。
接着写一个X_GET 指令返回值的显示格式要为浮点数,这样才可以看到正确的信息。
根据实际测试,300的温度值可以变应该和AI模块中滤波时间有关系。
X_GET 指令中 DENT_ID为刚刚设置200PLC中的站地址由于300中没有v存储区访问200的v存储区得用指针方式寻址,P#DB1.DBX20.0 BYTE 4 代表的含义为从vb20开始的四个字节。
也就是VD20。
RET_VAL 中可以看到返回值。
此返回值开头为8时有错误,可按F1参考说明手册查找相应问题。
PLC程序无错误,即可开始组态。
打开MCGS 新建一个工程,打开设备窗口,添加一个为西门子CP443-1以太网模块的设备将其添加到设备窗口中将本地的ip地址和plc的ip地址填写完毕后新建一个变量点击右边的添加设备通道接着给通讯状态连接一个变量确认完成后点击右边的启动设备调试通讯状态的调试数据为0 说明通讯成功如变量值关联正确也会传回相应的数值。