datalist:8数据库“tempdb”的事务日志已满,原因为“ACTIVE_TRANSACTION”。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 B2b.Shop.ShopBase.GetDataList(Int32 iValue, Int32 iSize, List`1& loValues) 位置 f:\mywork\b2b168\b2bweb\B2bBase\ShopBase.cs:行号 4543datalist:2数据库“tempdb”的事务日志已满,原因为“ACTIVE_TRANSACTION”。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 B2b.Shop.ShopBase.GetDataList(Int32 iValue, Int32 iSize, List`1& loValues) 位置 f:\mywork\b2b168\b2bweb\B2bBase\ShopBase.cs:行号 4543datalist:2数据库“tempdb”的事务日志已满,原因为“ACTIVE_TRANSACTION”。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 B2b.Shop.ShopBase.GetDataList(Int32 iValue, Int32 iSize, List`1& loValues) 位置 f:\mywork\b2b168\b2bweb\B2bBase\ShopBase.cs:行号 4543datalist:5数据库“tempdb”的事务日志已满,原因为“ACTIVE_TRANSACTION”。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 B2b.Shop.ShopBase.GetDataList(Int32 iValue, Int32 iSize, List`1& loValues) 位置 f:\mywork\b2b168\b2bweb\B2bBase\ShopBase.cs:行号 4543
产品描述
西门子模块6ES7340-1CH02-0AE0功能参数
1. 设备说明
该设备用于化纤多次拉伸、卷曲前处理生产,主要由导丝架、八棍导丝机、热水槽、牵伸机、水浴槽、二牵伸机、蒸汽箱、三牵伸机、叠丝机、张力架、卷曲机、卷曲侧板电机、油泵电机、振动电机、循环水泵、振动检测等设备构成。I/O控制规模为103点,其中开关量输入点为61点,开关量输出点为39点,模拟量输入点为3点。主要控制要求为:化纤丝的速度、牵伸比、蒸汽及水温、相关的连锁逻辑控制等。本系统控制的关键是要保证导丝、一牵、二牵、三牵、卷曲五台电机的速度同步。
2.系统配置
系统采用三菱公司的Q系列PLC作为主控制器,传动控制为艾默生公司的EV2000系列变频器,人机界面为F940GOT。
系统主要配置如下:
● 主控制器:Q00CPU:速度和牵伸比给定,通过I/O模块,现场各机台急停,限位等开关量及模拟量信号,完成连锁控制及报警功能。
● 输入模块:QX40:完成现场的开关量控制采集,
● 输出模块:QY10:完成开关量输出。
● 模块量输入:Q64AD:以完成现场的模拟量检测。
● 串行通讯模块:QJ71C24N-R4:构成变频器通迅链路。
● 传动驱动单元:艾默生公司的EV2000系列变频器。
鉴于篇幅的原因,本文主要描述系统控制的关键设计和实现,即保证导丝、一牵、二牵、三牵、卷曲五台电机的速度同步。客户基于成本的因素,传动驱动单元选用艾默生公司的EV2000系列变频器,并要求主控制器和其构成一个以RS485为通讯介质的低速廉价通讯链路。尽管导丝、一牵、二牵、三牵、卷曲5台变频器采用共用直流母线运行方式,并安装增量式编码器构成转速闭环以提高速度精度,卷曲机变频器还外加张力传感器以稳定控制拉伸张力,提高纤维质量,但是在设备起停过程特别是在运行过程中调整运行速度和牵伸比等工艺参数时低速通讯链路的实时性的问题就表现出来了。
在设计上,虽然一个通讯模块可以组成485网络,但因为通信量很大,我们实时发送电机的速度指令及起停信息,同时还要不断读取变频器的工作电压、电流、频率等参数,所以如果采用一块模块的话,通信周期将增大,也就达不到实时的作用。所以我们选用两块485通讯模块,即四个通讯口同时对一牵、二牵、三牵、卷曲四台变频进行通讯,而导丝和一牵共用一个通讯口,在下一周期通讯。考虑到通讯协议帧长度长为18个字节,在19200Bit/s传输速率下,各速度指令响应的大时差为20ms左右,当大车速为200M/Min时,尽管导丝略有滞后,但在工艺上是可以接受的。该方案可以有效地解决速度指令的同步能力,实现开车起步和停车过程中按指令同步升降速以及运行中速度调整时五台电机速度的同步和纤维拉伸张力的均匀。
3.调试情况和体会
在实际调试过程中,系统基本符合我们预想。但在通讯调试中,我们发现Q系列PLC在搭载多通讯模块系统时,通讯的稳定性和PLC的扫描周期的长短有关。随着功能的不断增强,程序的不断完善,扫描周期也随之加大,当大扫描周期大于25ms时,通讯开始有不稳定现象出现。
现象:我们用QJ71C24的通讯指令来接受通讯数据,当扫描周期大于25ms时,在同时通讯的4个口中,排在程序的后一个口偶尔会有通讯错误,当接受标志位已跳变为ON,表示数据已接受完毕,但接受数据区中却无数据。我们对同时通讯的四个口的程序次序颠倒过来发现情况依旧,错误只发生在次序排在后的一个口。
分析原因:我们认为是通讯时序出现了问题,系统接受标志位的跳变和系统数据的传递不同步,即系统内部通讯标志建立时,通讯缓冲区的数据尚未来得及传送完毕。故我们判断扫描周期延长会影响系统通讯的时序。 解决办法:精简程序来缩短扫描周期或换高速PLC 。但由于本系统程序量较大,后为了保证系统的性我们将CPU从Q00换为Q02,提高了系统处理速度,把扫描周期降低至10ms以下,问题得以解决。
4.用户的反馈
本系统已正常投产三个多月,目前系统运行非常稳定、,技术指标达到了设计效果
一、 系统设计思路
根据洗煤厂工艺控制流程和实际要求,将系统分为三级控制具体技术思路如下:
1、 控制运算级
级以日本三菱公司的新型Q系列PLC为控制,实现对洗煤厂设备的顺序启车、顺序停车、故障逻辑停车以及特殊要求的单台设备控制,对模拟量信号合格介质悬浮液密度、合格介质悬浮液磁性物含量、重介旋流器入口压力、合介桶液位的PID调节。
2、 集中监控管理级
二级由两台工业控制计算机联网作为系统人-机交互窗口,组态软件采用“组态王”工控软件,实现对工艺运行数据的采集、图形监视、动态显示、记录分析、参数报警、日报表打印以及对现场设备逻辑启停等功能,两台计算机可以监控不同的画面,并具有相同的操作功能。计算机操作站放置在室,可以随时了解电机、水泵、仪器设备的运行状况,便于生产调度指挥。该系统还配有生产调度模拟盘,显示全厂生产线设备的运行、停止状态。
3、 现场信号工作站
现场有70个工作站,可对现场电机、水泵等进行启停及启停显示、报警。现场信号工作站有三种工作状态:(1)自动状态时工作站所控制的设备由室控制;(2)手动状态时信号工作站所控制的设备不受室控制由信号工作站控制;(3)零位状态时信号工作站所控制的设备不受室和工作站控制,用于设备检修。现场工作站设备出现故障时能向室发出故障信号。在70个信号工作站中有16个信号工作站要有准备好信号输入,以便在自动状态时通知室此工作站已经准备就绪,室根据16个工作站全部准备就绪的信号发出启车信号后启动生产线。
二、系统控制结构设计
1、 控制系统软硬件配置
系统控制级PLC(下位机)以三菱公司的Q系列PLC为系统控制;采用GX DEVELOPER Ver 8.0编程软件完成PLC系统组态编程(程序结构设计、地址定义、梯形图编写)程序调试。
监控站(上位机)采用基于bbbbbbs 2000操作系统,选用“组态王”组态软件完成监控画面组态、变量定义、设备运行状态画面组态、实时\历史曲线画面组态、报表组态。
现场液位传感器采用声波液位计,能的采集现场液位信号,再通过富士变频器对水泵进行控制,从而实现对液位的PID调节。
整个控制系统实际I/O点总计如下:
数字量I/O点数:DI 90点 DO 58点
模拟量I/O通道:AI 8点 AO 8点
2、系统组网和PLC编程
两个监控站(上位机)之间采用以太网通讯,“组态王”组态时只需将两台计算机设定为“Web”通讯。其中一台计算机预装有GX DEVELOPER Ver 8.0软件,完成PLC程序设计、开发、调试工作以及和上位机的通讯。如果需要可以随时对程序运行监控和编辑。
3、 PLC程序结构
PLC程序编程可分为五部分:部分是设备的逻辑顺序启车;二部分是设备的逻辑停车;三部分是设备故障逻辑停车;四部分是设备非连锁状态的单机运行;四部分是模拟量的PID调节(PID调节编程可以参考PID Control Instructions)。
三、 系统主要功能
1、 监控功能
洗煤厂重介洗选生产线全部设备的运行状态可以通过两台上位机操作站监控并动态模拟显示。通过上位机发出启车信号自动启动洗煤生产线的设备,对生产线的设备故障进行自动诊断,根据故障点位置按逻辑程序自动停车。室上位机可以单机启车。
2、调节控制功能
洗煤厂各设备间的耦合程度高,单台设备故障会直接影响整条生产线生产,因此在PLC编程中对合格介质悬浮液密度、合格介质悬浮液磁性物含量、重介旋流器入口压力、合介桶液位等工艺参数PID调节作了优化编程,使其能在上位机轻松实现手/自动无扰动切换,从而不会影响生产线生产。
3、报警功能
系统具有故障报警(水泵、电机等启停故障)和密度、液位、压力等工艺参数限报警。
4、系统联锁功能
系统可以现场操作、计算机联动和自动运行,并相互联锁。
5、通讯状态显示功能
系统可以显示PLC与两台上位机之间的通讯状态。
6、报表记录功能
系统可以准确的记录每台设备的运行情况(启动时间、停止时间、值班操作员)可以根据需要打印该报表。
7、曲线功能
系统可以对密度、液位、压力等工艺参数,以实时曲线、历史曲线的形式直观的显示在上位机画面上。
8、权限功能
为防止误操作和非人员随意改动参数,该系统分为三级权限分别为操作员(只能对一部分画面进行操作)、管理员(增加减少用户名修改密码)、工程师(权限)
产品推荐