以下是3548天前的记录
自动化系统
46 2014年08月21日 星期四基于S7-200PLC多从站modbus通信,采用轮询模式的编程问题
西门子工业业务领域 (0)菜鸟:modbus通信系统组成,主站:1台 CPU224XP,从站:3台 CPU224CN,编程时采用轮询方式读取从站中的数据,采用变址方式查询从站,需要借助计数器或者定时器等工具吗?**搞modbus,大家帮我分析一下!谢谢喽!调试时,我用过Micro 'n Power V1.1中的实验程序,运用上1次读写成功标志位done触发下一次读写指令MBUS-MSG,但总是读不到数据,是不是不同从站轮询时,还要延时一下再触发下一次读写。大神们,帮我解决一下!采用轮询编程,读取3个从站的数据,为什么读不到呢?主站程序依据教程中的轮询模式改写的,具体如下:Network 1 // 上电复位LD SM0.1R M2.0, 8R M4.0, 8R M0.0, 2Network 2LD M0.0EUS M0.1, 1Network 3 主站初始化LD SM0.0= L60.0LD SM0.0= L63.7LD L60.0CALL SBR1, L63.7, 9600, 0, 1000, M0.0, MB1Network 4 读从站1 并把数据存在VB504-VB527LD M0.1O M2.3= L60
PCS7能和福特斯波罗DCS通讯吗?
西门子工业业务领域 (0)菜鸟:如题,能用福特斯波罗DCS为主站,PCS7为从站。二者之间进行通讯和控制吗?或者用其它什么方式进行通讯和控制呢?现有个项目业主老系统是福克斯波罗,新系统我们想用西门子DCS系统,业主说只要能兼容就同意用西门子DCS。大虾:通讯协议可以达成一致就可以!建议上modbus,成本比较低pcs7里面配一块cp341+modbus硬狗(硬狗可以不买,网上有不需要狗的程序),也可买一块dp转modbus的协议转换器,这样编程就比较简单了(但是400H走dp要上y-link转出去,比较贵)foxboro里面配一块FBM230串行通讯模块配置modbus驱动菜鸟:福克斯波罗太牛了,听说是第三方通讯,直接拒绝了!想以垄断来维持暴利。却不知道在中国任何关系都不是铁打的。一番工作下来,直接换成西门子独立系统,福克斯波罗直接出局。 大虾: foxboro现在不属于英维斯集团了,而是属于施耐德了,呵呵其实foxboro的手册里面支持的通讯协议也不少,算起来比西门子要多,不过foxboro的服务态度确实不咋滴,软件号称基于unix很稳定,但是超级难用,简直是几十年前的古董级水平了菜鸟:
关于CPU414—3PN/DP遇到内存不够用问题
西门子工业业务领域 (0)菜鸟:这次项目采用的是PCS7中的CFC SFC编程模式,之前是300PLC 用的STEP7+WINCC目前我只是做了基本的点动模块,把电机大概50个,阀400个左右,传感器50个左右,用CFC做的,编译后发现购买的闪存卡和工作内存都不够了,怎么回事(2M工作内存,4MFlash卡,模块用的APL库里现成的模型,没有自己写),现在我正在重新做,自己写的CFC图表,添加的是阀和电机块的那个小型块,MOTS,VLVS这两个,如果还是不行只能换回STEP7+WINCC(否则要换CPU吧?)还有我有些电机需要现场也能控制,可是只有一个自复位按钮,上次凌神说Motor也可以实现,我没找到,对于PCS7真心新手,**次做,请大神们指教!反正遇到问题很多,以后在这里发帖请教谢谢!至圣:自己开发块吧!apl和SFC占内存太大了。 斑竹:1.如果使用APL库的话,建议优化的你程序的扫描周期,将大多数块放在OB33里试一下;OB35周期太快了。2.调整一下CPU的内存分配,如诊断资源,OB3X的镜像区大小,用不到的OB3X尽量放小;3.可以用一下标准库中的功能块尝试一下;4.以上三种措施仅能释放
以下是3550天前的记录
自动化系统
47 2014年08月19日 星期二如何把 I1.4-I4.3 这3个字节转送到 Q0.0-Q2.7 中去?
西门子工业业务领域 (0)菜鸟:请问,如何把 I1.4-I4.3 这3个字节转送到 Q0.0-Q1.7 中去?用指针的话,是不是写成:L P#1.4 BYTE3T Q0.0?谢谢。斑竹:l p#0.0lar1l 24go:t ia i[ar1,p#1.4]= q[ar1,p#0.0]+ar1 p#0.1l #iloop go当然用sfc20更简单CALL "BLKMOV"SRCBLK :=P#I 1.4 BOOL 24RET_VAL:=MW0DSTBLK :=P#Q 0.0 BOOL 24简单点用3个字节传送指令要一起传送,只能使用SFC15,SFC20是不能使用的,因为对应的是IO菜鸟:谢谢。我这个写法:L P#1.4 BYTE3T Q0.0不对是吧? 斑竹:指针怎能送到一个输出点上去呢? 另外,指针也是一错再错。楼主,基础太差需要补课 !估计,别人回你的你都不懂啥意思 菜鸟:刚试了一下,可以这样CALL "BLKMOV"SRCBLK :=P#I 1.0 BOOL 24RET_VAL:=MW0DSTBLK :=P#Q 0.0 BOOL 24不可以P#I 1.4 BOOL 24看来sfc20应该
Modbus通讯错误校验是什么方式?
西门子工业业务领域 (0)菜鸟:200PLC中,modbus错误校验是什么方式。第三方温控表是CRC校验,现场测试一下好像能通信,这是怎么回事?看到说明上只有奇偶校验,没有CRC校验,为什么还能通信上呢?大虾:奇偶是字符检验,CRC是报文检验。菜鸟:谢谢,200自带的modbus的库支持CRC校验吗?看到文档中对这块没有说明。另外字符和报文校验两者的主要作用都是保证报文的准确性吗?大虾:200自带的modbus的库里含有CRC计算程序,用户在使用的时候是不需要考虑CRC的。校验的作用就是保证报文的准确性。菜鸟:校验的作用就是保证报文的准确性。在哪里能够找到200plc modbus关于crc校验的说明呢?crc校验有好几种方式,200采用的是哪种校验方式呢?大虾:手册上有不多的MODBUS CRC说明。
300系列模拟量输入固定时间段内失真问题
西门子工业业务领域 (0)菜鸟:项目在湖南益阳,一个垃圾场的水处理项目,有一个液位信号,用的静压液位计,仪表端装了一个信号隔离器,模块量模块用的是6ES7-331-7KF02-0AB0。现在碰到了个情况,开始的半个月信号是正常的,后来突然**每到晚上7点至**天凌晨4点30左右的时间段内(有些许误差,一般十分钟以内),信号就显示为满量程,换到其它通道也是,程序里监控FC105的输入端为32XXX,别的模拟量输入信号接到之前液位的通道,显示却是正常的。有人碰到过这种情况么?大虾:是否有干扰源在固定时间段内启动菜鸟:没有,至少我们的设备是没有的,而且出现这种情况后,把信号线拆下来测电流也是正常的,12mA左右,但是接到PLC模块上,就显示超量程了��大虾:你的是四线制信号,你把信号的负端和模块电源的m短接,消除共模电压就好了。菜鸟:之前也碰到过这种情况,但是为什么这次的时间会卡这么准啊?白天没有,晚上就出现。大虾:应该是你的交流电的问题吧?
增量型PID的疑问
西门子工业业务领域 (0)菜鸟:在网上看到有关增量型pid的说明增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。1:如何判断执行机构是否带积分作用?为什么步进电机属于带积分部件的对象,而电液伺服阀又属于不带积分部件的对象呢2:目前主流的运动控制器是不是都采用了增量型的pid控制算法,增量型的控制算法保证了运动轨迹的吻合,而位置型pid只关注*终目标3:增量型的算法决定了它只和3次运行相关,那它又是如何保证了*终的精度呢?位置型pid我可以理解,增量型的我想不明白4:增量型pid由于没有积分作用,那是不是意味着静态误差永远也消除不了。斑竹:步进电机正转或反转N步,被控对象的位置在当前位置上增加或减少N个单位的位置对于调节阀这种位置型的执行机构,你给的是其开度信号,从原来的开度变化到你给定的开度。拿编码器做比喻,相当于一个是增量式编码器,一个是***编码器。对于增量式编码器,你需要对脉冲进行计数才能得到位置信号,而***的,可以直接读到位置信号。给了增量信号,执行机构根据增量信号调整位置。菜鸟:谢
PID控制时的参数改变问题
西门子工业业务领域 (0)菜鸟:各位大侠,我在使用PID功能进行温度控制时,遇到需要实时改变PID的参数的问题。比如说,在温度的上升段,为了获得快速的升温速度,就需要大的加热功率,这时比例系数P就需要调得比较大。而在保温段,比例系数P就需要调低一些,否则温度的上下波动就会比较大。为了解决这个问题,我模仿日本岛电温控器的思路,开了四路PID控制盒,各自有不同的PID参数,分别负责不同的温度段的控制。这样虽然也能解决问题,但稍显繁琐。那么有没有办法利用程序的办法在线实时自动修改PID参数呢?侠客:1、记录你的温度控制阶段。2、根据不同的阶段直接把你需要的pid参数赋值给pid功能块,(如果是用向导生成的pid功能,那么参数都是在v区的,直接修改v区的地址的值就行了。)菜鸟:谢谢1楼的奇侠老师,我按照你说的办法编写了一个简单的实验程序,通过分别接通I1.0和I1.1的确可以修改PID的参数,程序如下:网络1LD SM0.0CALL PID0_INIT:SBR1, VW3000, VD960, AQW0网络2LD I1.0MOVR 1.0, VD12MOVR 10.0, VD20MOVR 0.0, VD24网络3LD
以下是3554天前的记录
自动化系统
48 2014年08月15日 星期五s7-200plc自由口通讯问题
西门子工业业务领域 (0)菜鸟:s7-200plc用自由口编写的主战程序,轮训两台modbus从站,主站程序做好下载后监视状态表数据都能读过来.但是当我给三台测试的plc断电又从新上电后,数据就都读不回来了,然后把主站plc的程序从新下载一遍又正常了不知道这是什么问题,求高手帮忙分析分析:主程序如下:Network 1 // 网络标题// 网络注释LD SM0.1MOVB 9, SMB30MOVB 2#11000100, SMB87MOVW 5, SMW90MOVW 5, SMW92MOVB 255, SMB94MOVB 0, VB400MOVB 0, VB401ATCH INT1, 23ATCH INT0, 9ENINetwork 2LDN T56TON T56, 1Network 3LD T56EULPSR SM87.7, 1INCB VB401AB= VB401, 3MOVB 0, VB401LRDAB= VB401, 1XMT VB200, 0LPPAB= VB401, 2XMT VB300, 0 中断0程序如下:LD SM0.0LPSS M10.0, 1AB= VB401, 1S SM87.7, 1M
用温度值控制26台屋顶风机自动起停时出现的问题
西门子工业业务领域 (0)菜鸟:各位好,我通过上位机设定屋顶风机的起停温度,例如启动温度值37℃,停止值31℃与实际的温度数据进行比较;比较后连接一个RS触发器控制输出,RS触发器的地址定义为一个临时变量,当实际值高于启动温度时触发器置位,温度降到停止值以下时触发器复位则不输出。现在我遇到的问题是当实际值大于31℃时RS触发器就会置位,不需要超过*大值37℃;温度小于31℃时马上就复位,造成频繁起停。给我的感觉就是只要复位条件不成立的话就置位,不符合RS触发器的逻辑请各位指教,RS触发器我是定义的临时变量不可能在其他程序中给它赋值!!!斑竹:根本不需要用这个,直接定义一个fb:in:pv//温度输入信号out::satart//风机启停信号,为1启动stat::pv_max//设定*高温度37度stat:pv_min//设定*低温度31度L pvL pv_max>=RJCN M1S startM1:L pvL pv_min<=RJCN M2R startM2:NOP 0你的程序中调用这个fb块26次就好了。菜鸟:首先非常感谢你的回答,但是您的这个程序和我说的基本上是一致的,我用的梯形图来编,也用的置位复位指令,
以下是3555天前的记录
自动化系统
49 2014年08月14日 星期四西门子S7-200使用程序块时出现的问题
西门子工业业务领域 (0)菜鸟:在使用S7-200时使用了一个程序块,如图当“一号报警器”动作正常时,程序块工作但是,当“一号报警器”由动作变为停止时,程序块中的程序还在运行“电笛报警”和“一号排风机运行”都没有停止请问这是什么问题?谢谢!斑竹:程序不执行,那各个存储器的值又没有复位。各个位是程序控制的,程序不控制了不代表将其复位了。菜鸟:“报警程序”块中的“一号风机运行”我没有使用复位/置位命令啊~~斑竹:报警子程序没返回主程序菜鸟:不会啊“一号报警器”“二号报警器”“三号报警器”都断开了,子程序没有能流了啊侠士:翼飞凌提醒的是:你在子程序里面使能了的位,离开子程序时,他会保持那个状态不变。
关于两个语句表的问题
西门子工业业务领域 (0)菜鸟:1、L P#1.0 这个指针和一个INT相乘得一个什么 比如和25乘,得P#25.0吗? 如果相加呢?2、L 10 LOOP NO1 这个循环的条件是什么?3、ANY指针一般什么情况用,一般用来解决哪类编程问题?大虾:1. p#1.0=L#82. L 10 LOOP NO1 写错了吧应该是l 变量loop no13.当基本数据类型不确定时,或是复杂数据类型不确定、长度不确定时,用途很广泛菜鸟:L#8是怎么得出来的 麻烦解释一下是写错了L INT型变量loop no1 这个循环靠什么执行,没弄懂大虾:http://cache.automation.siemens.com/dnl/jQ/jQ1MzMxAAAA_79632832_FAQ/79632832.pdf建议你系统学习一下,一句两句说不明白,还有贴图也不方便循环基本结构是这样的L 变量1a:T 变量2//循环次数。。。L 变量2Loop a先赋一个初值变量1至变量2,变量2相当于for i:=1 to n do里面的i,变量1相当于里面的n,不过这循环相当于for i:=n to 1 do每次运行到L 变量2Loop a变量2
如何理解模块的地址没有使用?
西门子工业业务领域 (0)菜鸟:模块的地址没有使用,怎么还被占用,如何理解?斑竹:能不能把问题描述清楚些?反正我是看不懂,你是只什么被占用了啊菜鸟:比如200系统手册里说的:数字量输入I1.6、I1.7被占用,数字量输出Q1.2---Q1.7被占用,模拟量输出AQW2被占用斑竹:是有些CPU或模块的输入输出硬件上面没有这些点,但是实际的地址还是被占用的,跟在这些CPU或模块后面的模块的地址要跳过这些地址重新分配地址。请看S7-200系统手册中的提示:数字量模块总是保留以8位(1个字节)增加的过程映像寄存器空间。如果模块没有给保留字节中每一位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。对于输入模块,这些保留字节中未使用的位会在每个输入刷新周期中被清零。举个例子,假如我们用CPU224XP做主机,又扩展了一台EM223 4输入/4输出模块,按说扩展模块只能占有输入点I2.0--I2.3以及输出点Q2.0--Q2.3,但是如上所说,数字量模块总是保留以8位(1个字节)增加的过程映像寄存器空间,所以,不存在的输入点I2.4--I2.7以及输出点Q2.7--Q2.7对应的过程映像寄存器空间已经被占用了,我
关于TIA v13 S7-1500与HMI联合仿真问题
西门子工业业务领域 (0)菜鸟:博途V13 仿真1500与HMI精致屏通讯,1500仿真正常,屏不能通讯。大虾:按你所述,只能判断屏的通讯组态不正确s7-1500仿真时会禁止所有在线接口,所以无法同时仿真,要想查看HNI仿真是否理想可以将PLCsim先stop在仿真HMI,同时查看PLCSIM中相应变量是否改变。不一定是通讯组态错误。游民:PLCSIM是仿真PLC的,不影响HMI的仿真,HMI的变量从PLC中直接拖过来就自动建立连接,可以直接仿真PLCSIM的变化会直接反映在HMI中。请问楼主,你的问题解决了吗?斑竹:可以同时仿真,我估计是你PG/PC接口设置的有问题。
以下是3556天前的记录
自动化系统
50 2014年08月13日 星期三温度通过PID调节来控制变频器的速度思路
西门子工业业务领域 (0)菜鸟:300PLC里,通过采集温度然后PID调节来控制变频器的速度的思路,越详细越好!谢谢大虾:可以调用FB41来进行PID控制具体工艺能否说清楚点采集的温度做PID输入,变频器的频率做输出,设定值自己设定,然后整定PID的三个参数即可菜鸟:问题是PID控制的速度变化在0·50HZ之间,浮动太大,想在40~50HZ之间调整,指教一下,谢谢!大虾:可以把变频器的*小频率设定在40Hz,或者把PLC的*小输出设定在8V或16mA不知道你是要将pid输出的80以下的,也就是变频器40Hz以下的都转化为40Hz,还是只是线性转化,如果是前者,就编程序将pid输出的80-100线性转化成24192-27648,80以下就转化成24192输出给变频器如果是后者,编程序将pid输出的0-100线性转化成24192-27648输出给变频器通过PID功能块,得出0到100的数据,标定为0到27648的数值输出,就对应变频器0到50HZ频率运行。
关于profinet应用探讨
西门子工业业务领域 (0)菜鸟:现有一设备客户要求用profinet通讯。不才,在网上查了些资料还是不是很理解:我要做的设备时间精度要求不高,大于100ms也没关系。通讯模块选型是选什么样的呢?我看到有两种IO和CBA的,对于网上的这个解释有点不太明白。。。PROFINET CBA适合经由TCP/IP,以元件为基础的通讯,PROFINET IO 则使用在需要实时通讯的系统。我的设备通讯响应时间要求不高,就简单的参数在上位机上输入和显示就可以有哪位前辈能不吝帮忙解释下我的疑问,先谢谢了!至圣:客户有钱,他要求走PROFINET,你就只能走NET了,但这个调试方便,不用5512或5711卡等,而且速度快菜鸟:我想问的是我这个客户要求的我选型该怎么选。我看到有两种profinet,有分CBA和IO的。这两者有什么区别呢? 网上下载下来的资料看的有点云里雾里的,所以在这里求助看能不能得到些帮助。至圣:现在好像基本上都是PROFINET I/O了吧!菜鸟:是不是一套完整的profinet io至少要有:一个IO系统、一个IO 控制器、一个IO设备IO系统一般指什么呢,就是所有设备总和吗?IO控制器就是CPUxx-PN/D
如何做判断程序?
西门子工业业务领域 (0)菜鸟:有VW2100~VW2198共50格输入值,比如有 20 格输入值<>0,当第 21 格没有输入时(即为 0),程序就认定此配方的数据只有 20格,并且在系统工艺流程的工作中程序走完第20格后返回第1格重新开始。当然实际情况可能是前10格有输入值、或者前25格有输入值,这是由客户自定义多少输入格,*多50格输入值。现在就这样一个问题请教各位大侠:怎么做这样的判断程序?大虾:其实我从第1格开始走到第50格然后重新回到第1个循环工作的程序都做好了。只是当实际没有50格输入,可能只有10格或者20格输入,那就只能工作到10格或者20格然后就得回到第1个重新开始循环工作,现在我就差判断实际到底有多少个输入,就是说判断从N格开始输入值为0,则认定在此程序只有N-1格。现在问题就是如何去判断一下客户输入的有多少格?搜索“0”值。指针加一(字节加一,字加二,双字加四),直到找到0值,看看指针一共加过多少?数据空间保证有51个位置,并且第51个恒定为0。不是这样吗?或者第51个是一个数据输入范围内不可能出现的值,例如:255。也就是-1。你输入时间、次数等的数值是不可能输入负数的,所以就用一个负
WINCC7.2脚本的问题
西门子工业业务领域 (0)菜鸟:WINCC调用VBS脚本问题:1.在全局脚本里做了个函数(function),在全局脚本里一个SUB中调用没有问题,在另一个SUB中调用就错误了,不向下执行。两个SUB都在全局脚本里。2.在全局脚本里做了SUB,只有一个地方调用没有问题,其他地方调用就错误了,不向下执行。各位遇见过这样的问题没有?请教了。大虾:组态一个诊断窗口,看看错误内容。菜鸟:谢谢答复,**个问题,补获错误是“变量未定义”,实际上所有变量都定义了,不然的话也不会有一个可以通过,再补充一下,调用的几个地方不再一个画面上。大虾:**个问题,还未捕获错误,不知何原因。菜鸟:把你的脚本发上来看看。检查了一下脚本,确实有一个变量没有定义,定义后没有问题了,但还是不清楚没有定义前,为什么有的地方调用没有问题。没有定义的变量就在这个函数里,**个问题也应该就是这个原因了。
触摸屏中的数据**存储在pLc
西门子工业业务领域 (0)菜鸟:触摸屏中的数据vW10至vW108这50个数据有时要手动改变其中的值,比如vW10中的值由12改为22,如何将改动的值**存入pLc中:我想的是用上电初始化和块传送将vW10开始的50个数据传送到vW210至vW309中,然后用比较指令、有不等时就**写入,如果一对值比较写一次太麻烦了,请高手大侠详细指导怎么做。大虾:你是不想一个一个地做,想有一个程序功能可以自动批处���,将来可能有200个或者2000个值要保存的话,随时使用这个功能都可以。就多少数量都不怕了。是吧?菜鸟:请问芳季老师,在触摸屏上不是就可以直接改PLC中V区的数据吗?为什么要用楼主说的办法呢?大虾:他问题的着眼点不在改,而在保存。我本人做过的7、8个参数的已经觉得够多了。也是一条一条写,没有做过适应很广的库。一些参数,要是并非产生碰撞就可以不予考虑保持(**保持)。至于动作配方,丢了就丢了。手工再输进去就行了。我也是跟你做法一致的。**个周期把参数mov到镜像中。每次修改参数后与你有不同。我是用一个220伏的中继的常闭触点给plc一个电源信号。电源正常的时候继电器有点触点断开,plc输入点off。当电源丢电时,pl
以下是3558天前的记录
自动化系统
51 2014年08月11日 星期一关于modbus轮训中断的问题
西门子工业业务领域 (0)菜鸟:这两天看来几个关于modbus轮训中断的问题,让我有所犹豫之前做的程序是不是也存在类似的隐患?我做modbus轮训的时候用的是“完成位”和“错误位”去去触发下一轮训,至今也没出现过掉的情况;会不会出现这两个位都为“0”的情况啊,或需不需要做个看门狗类似的东西啊;有一个情况我的说一下:前一段时间做实验的时候当我把波特率提升到115200的时候轮训时不时就停止了(无规律);然后我就把“完成位”和“错误位”的“上升沿”改成“下降沿”轮训再也没掉过;当时我也没太在意以为是跟CRC校验发生冲突了,现在细想根本不是这么回事?游民:我之前做的和楼主差不多“not busy ”和“错误位”去去触发下一个,正常运行并没有出现过中断,后来发现在线调试时候尤其是运行模式下载后通信就停止,所以我后来还是加了一个看门狗,用not busy判断超过100mS就强制触发一个通信请求,就再也没有出现过中断大虾:你的EN端控制了吗?菜鸟:EN端没有控制啊。
关于控制器(PLC)之间的以太网通信探讨
西门子工业业务领域 (0)学霸发言:控制器(PLC)和控制器(PLC)之间的通信是我们在实际工程中经常遇到的问题。就以太网通信来说,各个厂家(品牌)之间的控制器(PLC)通信可能既有其自有的特有的通信方式(协议),又支持开放的通信协议。每种通信协议又有其各自的特点,如通信速度,数据传输的可靠性以及每次通信任务所发送数据的多少等等。那么在实际项目中,我们如何去选择合适的通信协议来更好、更便捷的实现我们的工艺和控制要求呢?比如SIMATIC产品之间如何选择合适的以太网通信方式?SIMATIC产品和第三方控制器(PLC)通信又如何解决?CPU自带的以太网口(PN口)和CP以太网卡做以太网通信有哪些区别?不同网段间的控制器(PLC)之间又如何通信?和冗余系统又可以采用哪些通信方式?本期就控制器(PLC)之间的以太网通信展开讨论。希望大家各抒己见,多多发言!学弱:控制器之间的以太网通信,我觉得*方便的是使用GET/PUT的单向S7通信。客户机使用GET/PUT功能块读写服务器的地址区,服务器不用编通信程序。虽然名为“单向”,实际上数据是双向传输的,GET是服务器的数据传送给客户机,PUT则是反向的传送。这种通信除了能实现
关于PROFIBUS网络通讯故障
西门子工业业务领域 (0)菜鸟提问:我厂系统是一套S7-400加装通讯模块后带有6条PROFIBUS网络,每条网络下面带有28~30个不等的MM440变频器来驱动相应的炉辊。其中一条网络线路比较长,我们在通讯模块和现场变频器间采用光纤,加装了OLM模块。*近开始,这段网络中30个变频器不定时出现通讯故障,通讯故障造成炉辊频繁跳停,可以进行复位,但复位后又会出现,出现通讯故障的变频器是随机性的。一般情况下,网络首尾DP头终端电阻我们设置在ON上运行正常,有时出现故障,尾端终端电阻设置在ON上故障不断,也无法进行复位,但打到OFF上又正常。可运行一段时间后又开始频繁出现故障,然后打到ON或者OFF都无法正常,可以复位,但复位后又频繁出现。还有一条网络偶尔整条线路设备都报通讯故障,很容易复位,复位后不定时出现,但没有上一条那么频繁。针对上述问题,我们更换了部分网络线,部分DP插头,都没有彻底解决问题。目前真的是束手无策,望高手指点??学神:我感觉主要是变频器干扰造成的,做好屏蔽接地工作。另外降低通讯波特率试试看。菜鸟:波特率我们已经降低了,但是还是不成。变频器和电机也有接地。这30个变频器分三个控制柜,控制柜内每个变
s7-200中数据及其格式
西门子工业业务领域 (0)菜鸟:二进制和二进制数、十六进制和十六进制数、十进制和十进制数整数、无符号整数和有符号整数字节、字、双字(双整数、双字、实数)等等以上感觉迷茫,有没有通俗易懂的例子呢学霸:基础性的东西还是要掌握的。学神:名字是很多,但是每一个都有明显的界限,不会混淆。例子的话……?我只有一个例子。0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(16个)甲、乙、丙、丁、戊、己、庚、辛、壬、癸(10个)子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥(12个)以上三个序列都可以用于记录数量的多少。看你喜欢选用哪个?这就是进制。计算机的基础课程还是必须学习的,否则无法弄懂S7-200编程。其实数制小学就感受到了,算数是数到10就进1位,每到12各月就是一年,你又长了一岁。时钟每到60分钟又是一个小时,一种表示的方法而已。学霸:这些都是计算机方面的基础知识
关于200 smart 运动功能的问题
西门子工业业务领域 (0)菜鸟:本人新手,*近入手一台smart,ST40,在使用运动功能时,有一些疑问如下:问题一:利用运动向导创建子程序块,测量系统选择相对脉冲,单相P0输出,启用LMT+和LMT-功能(立即停止,高电平),在主程序中调用RUN 子程序,编译无误,下载调试,LMT+接通,运动轴立即停止,但是LMT-接通,运动轴没有立即停止,还是按设定的曲线输出脉冲,求解?问题二:还是RUN 子程序,C_Pos端是运动轴的当前位置(脉冲数),地址VD300,每调用一次RUN子程序VD300的值就随着增大相应脉冲数,如果程序持续运行的话,早晚VD300会数据溢出,我想用MOV指令把VD300清零,但是好像没效果,清零后,再调用RUN,VD300还是在上次脉冲数的基础上增大,求解?问题三:使用RUN子程序时,怎么控制方向?再次声明:我是新手,也是**次发帖救助各位,描述的问题有不明白的请指出来,我详细解释,谢谢!学霸:把程序放上来**,你使用了单脉冲输出,当然没有反向概念啦。负方向限位当然没有作用。**,如果清零了,坐标就错了。你愿意清吗?作为一个单向运动的控制,即使过零也不会影响运动。作为一个**位置的控制,3