TIA V14 blocks or library motor start stop valve control and level monitoring

qwemx

Member
Join Date
Jul 2017
Location
Earth
Posts
195
Hi Experts

Can anyone share with me the Function blocks for

motor start stop

valve control

and level monitoring
 
I'm doing a project now with DMC's open library and it's pretty cool and a great starting point.
It doesn't cover all the use cases, but everything is there ready to be adapted and the documentation is top notch.

When i add the functions from this library which I have downloaded they seem to have something lacking and the block shows red underline and not work
added entire library to project and compiled yet there are error inside the FB

Screenshot_5.png Screenshot_6.png Screenshot_4.png
 
Last edited:
See attached snip from DMC document titles "Initial Setup".
As for the formal parameter of the block call, you will need to create a DB using "udtHMI_ValveControl" and pass that as actual parameter to the block,

dmc.PNG
 
I suggest you roll your own standard blocks, many of the standard blocks contain stuff you probably don't need or do not contain bits you need. these blocks in general should be just as easy to create as trying to understand blocks from other sources. You can then even use the equivalent code in other PLC's. Obviously I do suggest you do use standard ones for the more complex ones like PID etc.
 
I suggest you roll your own standard blocks, many of the standard blocks contain stuff you probably don't need or do not contain bits you need. these blocks in general should be just as easy to create as trying to understand blocks from other sources. You can then even use the equivalent code in other PLC's. Obviously I do suggest you do use standard ones for the more complex ones like PID etc.

I don't disagree with the idea of rolling out your own blocks, but mostly because you then know exactly what they do as you're the one that wrote them.

Creating a library with blocks that serve a purpose for one specific application is not a great idea as you'll end up adding more to the block for the next project and potentially not in a well thought out manner. Whilst if you have a block that does all you'd need for a valve, motor, VFD, etc... with configuration inputs, your use cases are all covered and you can gain an awful lot more from project to project by just dragging and dropping them into the main program and configure the bits you want and the ones you don't.

Ultimately, it's an investment... the more you put up front on this, the more you get out of it as you do more and more projects. If you're not on the process industry, then it's probably not worth it other than for communicating with particular bits of kit or for diagnostics.
 
I don't disagree with the idea of rolling out your own blocks, but mostly because you then know exactly what they do as you're the one that wrote them.

Creating a library with blocks that serve a purpose for one specific application is not a great idea as you'll end up adding more to the block for the next project and potentially not in a well thought out manner. Whilst if you have a block that does all you'd need for a valve, motor, VFD, etc... with configuration inputs, your use cases are all covered and you can gain an awful lot more from project to project by just dragging and dropping them into the main program and configure the bits you want and the ones you don't.

Ultimately, it's an investment... the more you put up front on this, the more you get out of it as you do more and more projects. If you're not on the process industry, then it's probably not worth it other than for communicating with particular bits of kit or for diagnostics.

I have the same idea as you
 
Cardocea, I think you mis-understood, I did not mean write blocks which are limited, for example take two types of blocks, a standard valve handling & a motor handling, you code the valve block so it contains the control for limits, 3 port & 5 port etc. you then only need one block that caters for most types of valves, there will always be one that will need different control but as you say you build up a library that becomes a standard. There is no need to create a block that covers every valve type possible, it can confuse people. keep them simple so yes a block that covers a valve that has one or two solenoids with feedback & put in dummies for the functions not used, however, perhaps a motor control will have more than one type of FB there seems no point in creating one that controls DOL, Star/Delta, two speed & VFD.
I have been in this game for nearly 40 years & seen many flavours of code, using my own initiative & experience as well as pinching others (lol), I think I have built up a lib that covers most scenario's that I can use in most projects, of course, you will get end users that have their own ideas & possibly their own libraries that you are contracted to use (we had one customer (Major blue chip company) that insisted every OEM used their standard blocks, these were not simple, for example there were Ethernet coms to high level systems, instrument coms, task & process handling as well as standard blocks for valves/motors etc. TBH, by the time you had loaded all the standard blocks required it did not leave much room for your own code, but in saying that it did save a lot of time (if you understood how it all worked as they did not supply much documentation).
I worked for one of the chosen OEM's who were tasked with writing the standard blocks, we did provide documentation but many of these blocks were protected to stop other suppliers modifying them (Yes even on S5 if you knew how).
 
I think we have the same idea. The valve block you mention can have configuration as well which will make things clearer on implementation (for example, whether there's feedback for one, both or none states of the valve).

When looking at this subject, I'm really interested in companies starting to take on the Codesys approach where you can inherit from blocks... so in this case, the motor valve could inherit from the solenoid valve, but you'd create a different method to open/close the valve to account for the motor. Similarly with a motor, a standard block for the baseline of a motor, and then all the different types inherit from them. Sadly, I don't have time to make use of this, and to be fair may only see it on my way to retirement judging by how slow and how much training for technicians has to change for these to start being common place, but still interested in it.

The standard blocks of that company is pretty much what PCS7, PlantPAX, DeltaV, etc... are. Standardised software that makes implementing control of complex plants very simple and fast when compared to developing from scratch on a simple PLC.
 
Yes, I agree, I also include an Integer for status i.e. colour or if required status for HMI's, once had a customer who wanted motors & Valves to be totally different to what most require in colours, Red for running, Green for stop Amber for disabled & flashing blue/white for alarm. this is where I decided not to modify our standard with say a number for colour changes but have a separate FB, seemed to be the best thing as I have never had another customer with that colour scheme. Apparently they saw red as danger so running.
 

Similar Topics

Had a project a few years back done in v14 of TIA. Very similar job has come up for the same company with different PLC and HMI hardware. I...
Replies
1
Views
231
Hello PLC Friends, I'm starting my final year project with a given rig and I'm thinking about incorporating a remote access feature where I can...
Replies
2
Views
367
Hi everyone. Please help me to upload program from S7-1200 with TIA v14. I created new project, go to Online tab, select Upload devices as new...
Replies
0
Views
1,082
I am beatin gmy head against the wall trying to get my modbus comms working. I have a s7-1200 running tia v14, a cm-1241 comm card. I have...
Replies
22
Views
7,385
I am trying to commission a compressor that is using a s7-1200 to communicate rs485/modbus to a the compressor interface. My rs485 module is a...
Replies
2
Views
1,696
Back
Top Bottom