15221406036
西门子PLC模块6ES7512-1CK01-0AB0技术参数
报价: 666.00元/件
最小起订: 1
有效期至: 长期有效
发布时间: 2023-06-06 01:26
发布IP: 116.224.103.5
浏览次数: 50
手机号: 15221406036
电话: 15221406036
在线咨询: 点击这里给我发消息
15221406036
详细信息

西门子PLC模块6ES7512-1CK01-0AB0技术参数

1引言
产量监控查询系统系统对整个工厂所有生产线进行实时监控,对每一条生产线的产量进行实时的存储,存储的数据通过组态王连接PLC,将PLC中掉电保持区的数据读到组态王自定义的相应变量当中,每分钟通过标准的SQL语言对数据进行存储(每分钟向S数据库中存储26条数据,即26条生产线的当前产量)。用户可以通过:日期、时间、时间段、车间、生产线对任何车间、任何生产线进行产量的查询;能够对任何车间、任何生产线进行月产量的统计。同时在查询出满足条件的记录后,将结果通过报表的组态显示在相应的表格当中,可以对该结果进行存储和打印。




2    系统设计 
2.1系统框图

2.2设备选型设计



3 系统分析 
3.1功能要求 
可以任意查询一车间、二车间任何生产线(共26条生产线)任何时段的产量。具体明 
细如下: 
(1)每条生产线产量的数据至少能够保存四个月的储存期,以便对历史数据进行查询。 
(2)要求能够查询每条生产线任意每月、任意每天、任意每小时、任意每分钟的产量。 
(3)要求能够对任意每条生产线在任意时段的产量进行查询。 
(4)查询出来的任何结果要以特定的格式在报表中进行组态,同时将结果打印。 
(5)各生产线任意每月产量、任意每天产量、任意每小时产量、任意每分钟产量可以在电脑上用柱状图、实时趋势曲线的形式表现出来 
3.2查询方式 
(1)能够按照日期进行查询(格式:Year/Month/Day) 
(2)能够按照时间进行查询(格式:Hour/Minute/Second) 
(3)能够按照生产线进行查询(一车间:1-1、1-2;2-1,2-2;3-1,3-2;4-1,4-2; 
5-1,5-2;6-1,6-2;7-1,7-2;8-1,8-2  二车间:1-1,1-2;2-1,2-2;3-1,3-2;4-1,4-2,4-3,4-4) 
    (4)能够按照任意时间段进行查询(格式:Year/Month/Day Hour/Minute/Second  To  Year/Month/Day/ Hour/Minute/Second) 
    (5)能够按照班次进行查询(格式:早班,中班,晚班)早班:7:30—15:30       
        中班:15:30—23:30      晚班:23:30—7:30 
    (6)能够查询任意每月任意车间、任意生产线的产量 
    (7)能够运用<1>——<5>的各种不同的排列组合进行复杂的查询 
4难点及实现方法 
4.1 海量数据管理 
两个车间共26条生产线,每分钟要有26条记录生成,每分钟向数据库插入26条记录。 
该系统全天24小时工作,不允许停。所以的数据量为37440条记录。每月的数据量为1160640条记录。如果要存储四个月,则数据量为4642260条记录。数据量是相当庞大的。硬盘的数据存储接近2-3G,不仅会造成在查询时,系统资源严重被占用,同时普通的数据库如ACCESS的表格没有能力管理如此庞大的数据系统。ACCESS在管理如此庞大的数据时,不仅系统会造成不稳定,同时会出现不可预料的情形。所以只能寻找能够管理大型数据系统的数据库,因此可以选择S或Oracle。 
4.2 基于bbbbbbsXP创建SQL服务器的新数据源 
组态王支持对标准的数据库进行数据的插入、选择、删除等基本的操作。同时支持标准的SQL语言。灵活的运用组态王提供的SQL函数使组态王通过ODBC(开放性的数据源)配合标准的SQL语言对数据库进行各种简单和复杂的操作。 
在Win2000/Winnt/Winxp等操作系统下,必须正确的进行设置:从控制面板中 
双击性能和维护,如图3所示。以bbbbbbsXP为例说明。 
步:在控制面板下选择 管理工具->ODBC数据源,双击图标出现图2界面。


第二步:在用户DSN 选项卡片上,单击添加按钮,出现 创建新数据源 对话框,选择SQL Server(图3)。


第三步:单击第二步的完成按钮,出现创建到SQL Server的新数据源。如图4所示。


输入数据源名称、数据源描述和SQL Server 所在的服务器名称或者IP地址。服务器名称可以是SQL Server所在的机器名称,也可以是IP地址。单击下一步按钮。 
    第四步:选择登录SQL Server时的身份验证方式。并输入登录SQL Server时所用到的用户名和密码。如图5所示。 


这里的用户名和密码是在SQL Server中建立的。在SQL Server数据库中选择 安全性->登录,新建用户,如图6所示。


第五步:一定要选择"更新默认的数据库为"选项,否则默认数据库是master。然后选择您想要连接的数据库。其余的按默认设置,如图7所示。然后单击下一步按钮。


第六步:按默认设置,单击完成按钮(图8)。


第七步:图9给出了数据库连接的摘要信息,如果想测试一下是否能够连接到数据库,可以单击“测试数据源”按钮,会出现测试结果。


单击确定完成连接。接下来的工作就是在组态王王建立记录体、表格模板。其中连接数据库的时候,一定要输入和刚才数据源名称一致的DSN。如 dsn = wuhandsn. 
4.3 表格名称创新 
即使使用大型的数据库,SQL Server或Oracle,由于每天的数据量多达37440条记录, 
如果将一个月,甚至是四个月的记录全部写入同一个数据库的同一个表格,则所有的数据量大的将使表格崩溃,即使数据库能够管理,查询的速度也是可想而知的。将会非常的慢。经过作者反复的思索,想出了一个巧妙的办法,就是以系统的日期作为当天的表格名称。当系统时间为00:00:00时刻时,新建一个表格,通过S( DeviceID, "TableName", "TemplateName" )函数建立不同的表格。因为组态王支持字符串函数,如下所示: 
StrASCII( Char );// 此函数返回某一指定的文字变量首字符的ASCII值 
StrChar( ASCII );// 此函数返回某一指定ASCII码所对应的字符 
StrFromInt( Integer, base );// 此函数将一整数值转换为另一进制下的字符串表示 
StrFromReal( Real, Precision, Type );// 此函数将一实数值转换成字符串形式 
StrFromTime( SecsSince1-1-70, bbbbbbType );// 此函数将一个时间值转换为字符串 
StrInStr( Text, bbbbbbFor, StartPos, CaseSens );// 此函数用于查找文本 
StrLeft( Text, Chars );// 此函数返回指定文字变量的开始(或左的)若干个字符 
StrLen( Text );// 此函数返回某一指定的文字变量的长度 
StrLower( Text );// 此函数将指定文字中的所有大写字母转换为小写字母 
StrMid( Text, StartChar, Chars );// 此函数从指定的位置开始,从一个文字变量中返回指定个数的字符 
StrReplace( Text, bbbbbbFor, ReplaceWith, CaseSens, NumToReplace, MatchWholeWords ); 
//此函数替换或改变所提供字符串的指定部分 
StrRight( Text, Chars );// 此函数返回指定文字变量的末端(或右)若干个字符 
StrSpace( NumSpaces );// 此函数在文字变量中或表达式中产生一个空格串 
StrToInt( Text );// 此函数在文字变量中或表达式中产生一个空格串 
StrToReal( Text );// 此函数将一个由数字组成的字符串转换成一个能用于数字计算的实数值 
StrTrim( Text, TrimType );// 此函数删除文字变量中无用的空格 
StrType( Text, TestType );// 此函数检测文字变量的首字符以确定其是否为某一类型 
StrUpper( Text );// 此函数将一指定文字变量中所有的小写字符转换成大写字符 
在组态王中建立内存型字符变量Nabbbbble="A"+StrFromInt( \\本站点\$年, 10)+StrFromInt( \\本站点\$月, 10)+StrFromInt( \\本站点\$日, 10);Nabbbbble的构成为字母A+系统日期。将系统提供的整型变量转换成字符型变量。这样可以在数据库中建立每天的表格。每当系统日期由23:59:59跳变到00:00:00时,执行S()函数,建立当天的表格,如图10所示,在SQL Server中组态王建立了A2006619日的表格。


 4.4 基于Active控件的组态王条件查询 
为了完成如此复杂的查询,使用了Active控件,因为组态王支持第三方控件,将所有的条件罗列出来进行排列组合,将每一种情况都考虑在内。然后通过程序来实现选择条件转换成ST()函数工作的条件。  
(1)任意查询任意生产线在任意时段的产量。因为工艺要求能够任意查询任意生产线在任意时段的产量,为了能够实现该功能,新建\\本站点\CX_Hour,\\本站点\CX_Minute,\\本站点\CX_Hour1,\\本站点\CX_Minute1变量。在以时间段进行查询时,先将以前两个变量输入的时间做为条件进行查询,将查询出记录的数据赋给在过程中自定义的中间变量。然后再以后两个变量输入的时间为条件进行查询,将查询出的结果同样赋给自定义的中间变量。将两次查询的结果求差然后,将日期,时间,车间,生产线,产量通过报表的组态添到表格当中。 
(2)对于月产量的查询。需要判断输入的月份有几天,然后从该月的天开始到后进行查询,查询的时刻为每的23:59分时各生产线的产量。然后对查询出的数据进行累加,直到该月的后,然后按照特定的格式将数据填写到报表当中。在该过程中需要灵活的运用循环语句:While{}以及深刻的体会组态王的变量与数据库进行数据交换的过程。 
查询的条件比较复杂,有些条件不能同时成立,因此在选择条件时,应该要互相限制,以避免出现混乱的现象。具体的程序在应用程序命令语言运行时写如下程序: 
//bbbbbb Systime=StrFromInt(\\本站点\$时,10 )+":"+StrFromInt(\\本站点\$分,10 ); 
//===================判断 早班,中班,晚班和查询的时段=================================== 
bbbbbb Timestr=StrFromInt( \\本站点\$时, 10 )+StrFromInt( \\本站点\$分, 10 ); 
Long Timereal=StrToInt( Timestr ); 
if(Timereal>=730) 
  { if(Timereal<=1530) 
    \\本站点\班次1="早班";   } 
if(Timereal>1530) 
  { if(Timereal<=2330) 
    \\本站点\班次1="中班";   } 
if(Timereal>2330) 
  { if(Timereal<=2359) 
    \\本站点\班次1="晚班";   } 
if(Timereal>=0) 
  { if(Timereal<730) 
    \\本站点\班次1="晚班";   } 


\\本站点\日期=\\本站点\$日期; 
\\本站点\时间=StrFromReal( \\本站点\$时, 0, "f" )+":"+StrFromReal( \\本站点\$分, 0, "f" ); 
if(CommFine1) 
  { CommText1="通讯失败!";} 
else 
   { CommText1="通讯正常!";} 
if(CommFine2) 
  { CommText2="通讯失败!";} 
else 
  { CommText2="通讯正常!";} 


//===================统计月产量时,查询报表的个数计算==================== 
if(\\本站点\Monthbbbbb==1){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==2){ \\本站点\DayNumber=28;} 
if(\\本站点\Monthbbbbb==3){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==4){ \\本站点\DayNumber=30;} 
if(\\本站点\Monthbbbbb==5){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==6){ \\本站点\DayNumber=30;} 
if(\\本站点\Monthbbbbb==7){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==8){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==9){ \\本站点\DayNumber=30;} 
if(\\本站点\Monthbbbbb==10){ \\本站点\DayNumber=31;} 
if(\\本站点\Monthbbbbb==11){ \\本站点\DayNumber=30;} 
if(\\本站点\Monthbbbbb==12){ \\本站点\DayNumber=31;} 
//=================月产量查询的条件限定=================== 
if(Check6) 
{ Check1=0;Check2=0;Check3=0;Check4=0;Check5=0;} 
//==================查询时间和时间段不能同时有效=================== 
if(\\本站点\Check2) 
{\\本站点\Check3=0;Check1=1;} 
if(\\本站点\Check3) 
{\\本站点\Check2=0;Check1=1;Check6=0;} 

//====================插入表格的名称====================== 
Nabbbbble="A"+StrFromInt( \\本站点\$年, 10)+StrFromInt( \\本站点\$月, 10)+StrFromInt( \\本站点\$日, 10); 

<7>.工艺要求能够查询任意生产线每分钟的产量,所以通过事件发生命令语言实现。每当系统时间的秒等于59时,触发执行如下程序。该部分的程序如下: 
//==========================向数据库插入数据============================ 
long ih=1; 
车间=1; 
//SQLInsertPrepare( DeviceID, Nabbbbble, "bind", SQLHandle); 

while(ih<=16) 
        {  if(ih==1) {产量=Fir_NO1;生产线="1-1";}   if(ih==2) {产量=Fir_NO2;生产线="1-2";}    if(ih==3){产量=Fir_NO3;生产线="2-1";}     if(ih==4) {产量=Fir_NO4;生产线="2-2";}       if(ih==5) {产量=Fir_NO5;生产线="3-1";}     if(ih==6){产量=Fir_NO6;生产线="3-2";} 
           if(ih==7) {产量=Fir_NO7;生产线="4-1";}     if(ih==8) {产量=Fir_NO8;生产线="4-2";}        if(ih==9){产量=Fir_NO9;生产线="5-1";}     if(ih==10) {产量=Fir_NO10;生产线="5-2";}   if(ih==11) {产量=Fir_NO11;生产线="6-1";}  if(ih==12){产量=Fir_NO12;生产线="6-2";} 
           if(ih==13) {产量=Fir_NO13;生产线="7-1";}   if(ih==14) {产量=Fir_NO14;生产线="7-2";}    if(ih==15){产量=Fir_NO15;生产线="8-1";}  if(ih==16) {产量=Fir_NO16;生产线="8-2";}    
           // \\本站点\序号=\\本站点\序号+1;        
            SQLInsert( DeviceID,Nabbbbble, "bind"  );   
           //SQLInsertExecute( DeviceID, "bind", SQLHandle);           
           ih=ih+1;          
           }  

long jh=1; 
车间=2; 
while(jh<=10) 
        {   
           if(jh==1) {产量=Sec_NO1;生产线="1-1";}  if(jh==2) {产量=Sec_NO2;生产线="1-2";}        if(jh==3){产量=Sec_NO3;生产线="2-1";}   if(jh==4) {产量=Sec_NO4;生产线="2-2";}       if(jh==5) {产量=Sec_NO5;生产线="3-1";}    if(jh==6){产量=Sec_NO6;生产线="3-2";} 
           if(jh==7) {产量=Sec_NO7;生产线="4-1";}  if(jh==8) {产量=Sec_NO8;生产线="4-2";}        if(jh==9){产量=Sec_NO9;生产线="4-3";}    if(jh==10) {产量=Sec_NO10;生产线="4-4";}    
           //\\本站点\序号=\\本站点\序号+1; 
           SQLInsert( DeviceID,Nabbbbble, "bind"  );  
           //SQLInsertExecute( DeviceID, "bind", SQLHandle); 
           jh=jh+1; 
           }  
//SQLInsertEnd( DeviceID, SQLHandle); 

(3)在系统时间等于00:00:00时刻时,在事件命令语言中建立如下程序,以得到需要新建表格的名称,同时将PLC中累计产量的寄存器清零,重新开始对该日的产量进行累计。 
5 调试过程 
因为两个车间之间的距离在300m左右,而从个车间到监控室的距离有500m左右,距离比较远,为了遏制信号的衰减,将信号线用网线代替,同时加中继器,将信号放大。保证数据传输的安全性。要求现场布线时严格按照电气规范施工。保证安装的合格。正确的设置操作系统中数据源ODBC的选项,以保证组态王能够通过ODBC与数据库SQL Server连接。在组态王运行系统中执行任何操作时,观察运行反馈信息,以得到相关的错误信息。根据提示的错误信息检查程序。报表的组态非常灵活,可以通过While{}循环语句,将查询结果按照顺序填写到报表中。灵活的运用While{}语句同时能够将程序简化,减少组态王后台运行程序的时间。灵活的运用应用程序命令语言、数据改变命令语言、事件命令语言、热键命令语言、按钮的弹起、按住、按下命令语言进行编程。在程序量非常大的项目中,养成良好的编程习惯。定义变量时好使用英文,这样能够增加程序的可读性。同时对程序进行标注。 

、 引言

    包覆丝机可用于生产各种规格氨纶包覆丝,芯丝用氨纶外包锦纶、涤纶等化纤弹力丝、长丝、也可包真丝、棉纱、毛纱线,各种混纺纱,这些弹力包丝或包纱广泛用于弹力袜、运动袜、丝袜、连裤袜,针织内衣衫裤,机织面料,弹性服装、运动服、休闲服、羊毛衫、弹性带等。 

    包覆丝机能生产单包丝、双包丝,也能生产某些特种加捻丝、线,生产一些附加值很高产品。 

    目前传统包覆丝机(以下简称机械成型包覆丝机)组成是:一台18.5KW VFD-B变频器驱动两台9KW异步电机传动主轴运行,再机械齿轮变比带动锭子高速旋转,及卷绕,再机械油浴式齿轮箱带动横动机构来回运动,实现卷绕成型功能, 一套速度监测仪,随时监测锭子、卷绕等运行转速。



机械成型包覆丝机的主要技术参数为:





缺点: 
    1、只能通过变频器面板进行调速,界面不友好。 
    2、由于成型机构是机械油浴式齿轮箱,导致整体车速只有不超过40米/分。 
    3、由于成型机构是机械油浴式齿轮箱,卷绕成型有叠绕和硬边突起等电阻效应(对下一道工序退绕很不利,卷绕纱锭只能达到3公分厚)。 
    4、由于成型机构是机械油浴式齿轮箱,长时间运行后机械磨损导致无法进行根本性修复,维护,调整都很困难


相关产品
相关技术参数产品
新闻中心
产品分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 电话:15221406036
  • 手机:15221406036
  • 联系人:聂航