PLCS.net - Interactive Q & A

PLCS.net - Interactive Q & A (http://www.plctalk.net/qanda/index.php)
-   LIVE PLC Questions And Answers (http://www.plctalk.net/qanda/forumdisplay.php?f=2)
-   -   PLC Recommendations for Horizontal Fuel Tank Doser Project (http://www.plctalk.net/qanda/showthread.php?t=131707)

busarider29 January 12th, 2022 08:14 AM

Quote:

Originally Posted by sengle (Post 904668)
Unfortunately, in my requirements, I failed to say that I also wanted to contact/interrogate the device via SMS/txt.
The TF6350 SMTP/SMS Solution appears to be only Outbound?

Unusual requirement, but sending messages to the PLC from your phone can be done, but just maybe in a different way. At least one way that I know of is to use the MQQT protocol via TF6701 TwinCAT 3 IoT Communication. From my understanding, there are MQQT phone apps that you can then use to send messages to the broker, which then get relayed to the PLC.

drbitboy January 12th, 2022 08:14 AM

Quote:

Originally Posted by JesperMP (Post 904691)
...the saving on hardware will be lost in time spent to get it working.

+1; get a better PLC.

Reliably detecting a filling event will likely be more difficult than calculating the dosing.

Calculations are easy; measurements are hard.

sengle January 12th, 2022 03:34 PM

Quote:

Originally Posted by drbitboy (Post 904675)
What type of math does Logo have available? Can you point to a manual? I am looking at this and there isn't even fixed point math available.

I find it hard to believe that hardware could handle SMS.


What sort of accuracy are you after?

Logo manual here:
https://support.industry.siemens.com...?download=true
No it doesnt look like it can do floating point math.

Surprisingly it handles modem integration quite well and the Logo has a specific dedicated CMR2020 modem for it.
https://support.industry.siemens.com...?download=true


Up to +-5% is acceptable.

sengle January 12th, 2022 03:36 PM

Quote:

Originally Posted by drbitboy (Post 904677)
You are thinking of something like this?

The program can be in one of several states:
  • Idle
    • Dosing not needed
    • Level is stable i.e. not changing, beyond some measurement deadband, over some time, say half an hour
  • Filling or draining: level is not stable
  • New stable level:
    • If new level is lower than last stable level
      • Save new level as last stable level
      • Return to Idle state
    • If new level is higher than last stable level, then
      • calculate dosing needed
      • execute calculated dosing
      • Save new level as last stable level
      • return to Idle state
Depending on accuracy required, the dosing calculation probably could get away without trig functions; a naive numerical integration scheme is possible with integer multiplies, adds, and compares, although overflow will have to be dealt with, depending on the raw range of the pressure sensor.

But the extra effort to develop such a scheme would pay for a more capable PLC, many times over.

Yes this is exactly what is required. Thank you for summarising it perfectly!
What PLC would you recommend that would be capable?

sengle January 12th, 2022 03:38 PM

Quote:

Originally Posted by JesperMP (Post 904691)
S7-1200 can definitely do the job.
I dont know if there is library function to do a calibration table, but even if there is I would prefer to write my own in SCL (equivalent to Structured Text).
I wouldnt use the Calculate block.
There should be plenty memory available.

I think that any modern PLC can do the job easily. Especially if it supports Structured Text.
A 'smart relay' such as a Logo will probably be hard pressed to do the job. Not impossible, using integer math and various tricks, but the saving on hardware will be lost in time spent to get it working.

Thanks Jesper. Totally Agree it makes sense to get capable Hardware rather than lost time looking for workarounds

sengle January 12th, 2022 03:42 PM

Quote:

Originally Posted by busarider29 (Post 904699)
Unusual requirement, but sending messages to the PLC from your phone can be done, but just maybe in a different way. At least one way that I know of is to use the MQQT protocol via TF6701 TwinCAT 3 IoT Communication. From my understanding, there are MQQT phone apps that you can then use to send messages to the broker, which then get relayed to the PLC.

Thanks for looking into this.
There is no LAN/WAN connectivity unfortunately.
These are 30 Remote sites which will all have this standalone PLC solution, so we need to be able to contact/interrogate the PLCs.

Tom Jenkins January 12th, 2022 04:47 PM

1 Attachment(s)
You need floating point, but you can do the calculation with multiplication and addition based on level.

busarider29 January 12th, 2022 06:11 PM

Quote:

Originally Posted by sengle (Post 904763)
Thanks for looking into this.
There is no LAN/WAN connectivity unfortunately.
These are 30 Remote sites which will all have this standalone PLC solution, so we need to be able to contact/interrogate the PLCs.

Here you go.....

CU8210-D004-0103: LTE USB modem.

See pg. 8 of the documentation here. - "The USB stick can also receive and send text messages using the Short Message Service (SMS)"

Add the Cabinet dome for protection of the device.

Explore the various IPCs and Embedded PCs available. It appears your application is rather small and simple. Any IPC or CX equipped with USB port should work just fine. For applications where the PC/CX might be exposed to harsher environments, I would opt for something in the CX line (Embedded PC).

CORRECTION EDIT: The LTE stick can only operate with Windows 7, Windows 10, or TwinCAT BSD. This limitation may inherently omit a few of your options for PC/CX selection, as some of the "Economy" CX's are only available with Windows CE (ex..CX9020).

Peter Nachtwey January 13th, 2022 11:52 AM

Quote:

Originally Posted by mylespetro (Post 904636)
Off topic, but I love when you or Peter say something is simple (which it probably realistically is) and then link to a PDF that literally looks like rocket science, which in this case may be true, as it's a NASA technote :lolis:

I would use a look up table. I would generate it using Mathcad but most would use Excel. Then do linear interpolation betweeun the points. If I needed more accuracy I would use Lagrange interpolation which is a 3rd order interpolation but I doubt this is required.

drbitboy January 13th, 2022 12:34 PM

1 Attachment(s)
Quote:

Originally Posted by Peter Nachtwey (Post 904846)
If I needed more accuracy I would use Lagrange interpolation which is a 3rd order interpolation but I doubt this is required.

It is not; if accuracy to a percent or so is acceptable and square root is available (but no trig e.g. MicroLogix 1100), then linear is good enough (below from @Tom Jenkins's sheet; see here also).
Attachment 60648
atan(1) would be replaced by 0.785... in the actual case.

But on MicroLogix the lookup table would be available anyway.

busarider29 January 13th, 2022 01:01 PM

Here you go....

FB_CTRL_LIN_INTERPOLATION

The caveat is that the above FB is part of a paid-for library (TF4100 Controller Toolbox), meaning if you want to use this for all 30 PLC's, you would need to purchase this library for each one of those 30 stand-alone PLC's. The cost of the library is dependent on the 'Performance Level' of the IPC/CX. We purchased the library for a performance level 70 IPC, and I believe the cost of it was ~$450 USD. For your application, a performance level 40 IPC/CX is all you would require, and that's only because you need the modem USB stick, which requires Win7 or Win10.

A much cheaper option in lieu of the TF4100 Controller Toolbox library:
Explore the FB's and Functions in the free OSCAT library I linked in a previous post, particularly "LINEAR_INT" on page 101, and "POLYNOMIAL_INT" on page 102. One of those should work for your application. The OSCAT library is free!!

You could also just code a polynomial in your logic. I did that for two of our machines in RSLogix500, with some pre-work in Excel.

drbitboy January 13th, 2022 01:42 PM

Math is not the problem for any but the most rudimentary processor; this could be done even if only integer math was available, though it would be a mess.

So to answer the OP, look for something that handles the SMS requirement cleanly and has either floating point with square root, or the capability to store a lookup table.

A lot less time is going to be spent coding how much to dose than coding when to dose.

sengle January 13th, 2022 08:45 PM

Quote:

Originally Posted by Tom Jenkins (Post 904772)
You need floating point, but you can do the calculation with multiplication and addition based on level.

Thanks Tom

sengle January 13th, 2022 08:47 PM

Quote:

Originally Posted by busarider29 (Post 904778)
Here you go.....

CU8210-D004-0103: LTE USB modem.

See pg. 8 of the documentation here. - "The USB stick can also receive and send text messages using the Short Message Service (SMS)"

Add the Cabinet dome for protection of the device.

Explore the various IPCs and Embedded PCs available. It appears your application is rather small and simple. Any IPC or CX equipped with USB port should work just fine. For applications where the PC/CX might be exposed to harsher environments, I would opt for something in the CX line (Embedded PC).

CORRECTION EDIT: The LTE stick can only operate with Windows 7, Windows 10, or TwinCAT BSD. This limitation may inherently omit a few of your options for PC/CX selection, as some of the "Economy" CX's are only available with Windows CE (ex..CX9020).

Thanks very much for your detailed response.
I am very impressed with Beckhoffs offerings and am in touch with the New Zealand agent now. Cheers!

sengle January 13th, 2022 08:48 PM

Quote:

Originally Posted by drbitboy (Post 904865)
Math is not the problem for any but the most rudimentary processor; this could be done even if only integer math was available, though it would be a mess.

So to answer the OP, look for something that handles the SMS requirement cleanly and has either floating point with square root, or the capability to store a lookup table.

A lot less time is going to be spent coding how much to dose than coding when to dose.

Thank you very much for taking the time to look at this for me.
Cheers!


All times are GMT -4. The time now is 04:54 AM.

.