# Best Practices for PLC and SCADA Integration in Industrial Facilities

**URL:** <https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [August 11, 2026, 2:32pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749 "2026-08-11T14:32:19Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ad12jbtworld](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@ad12jbtworld](https://forum.inductiveautomation.com/u/ad12jbtworld)\
**Post date:** [August 11, 2026, 2:32pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/1 "2026-08-11T14:32:19Z")

</div>

I would like to hear practical recommendations for integrating PLC and SCADA systems in industrial facilities such as factories and warehouses.

What should be considered during the early design stage to ensure reliable communication, future expansion, cybersecurity, alarm management, and smooth integration with electrical and MEP systems?

It would also be useful to know what common mistakes cause problems during commissioning and how they can be avoided.

Looking forward to learning from the community’s experience.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 11, 2026, 2:45pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/2 "2026-08-11T14:45:20Z")

</div>

> [@ad12jbtworld](#):
>
> reliable communication, future expansion, cybersecurity

Use Linux on all production systems.

---

<div class="post-metadata">

**Author:** ![tgarrison](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tgarrison/32/80965_2.png) [@tgarrison](https://forum.inductiveautomation.com/u/tgarrison)\
**Post date:** [August 12, 2026, 11:20am UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/3 "2026-08-12T11:20:50Z")

</div>

Never assume you won't be expanding. Build everything with the idea that you're going to need/want to scale it.

---

<div class="post-metadata">

**Author:** ![commissionedhq](https://avatars.discourse-cdn.com/v4/letter/c/9d8465/32.png) [@commissionedhq](https://forum.inductiveautomation.com/u/commissionedhq)\
**Post date:** [August 12, 2026, 5:35pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/4 "2026-08-12T17:35:05Z")

</div>

Different perspective from the technical answers, I work in the hiring side in automation which means I spend my weeks hearing engineers describe projects that went wrong. A few patterns come up so often in those conversations that they're worth adding to a best practices thread:

The SCADA developer getting involved too late is probably the most common one. The PLC side gets designed and half built, then the SCADA team inherits whatever tag structure exists and the whole integration fights that decision for years. The projects people tell me they are proud about are the ones where naming conventions and data structure were agreed before anyone wrote code.

Take the technical guidance from the people above me, this is just the view from the exit interviews.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 12, 2026, 5:47pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/5 "2026-08-12T17:47:43Z")

</div>

> [@commissionedhq](#):
>
> naming conventions and data structure were agreed before anyone wrote code

Indeed. PLC programmers often have no idea that structures matter to SCADA, especially for comms performance. I highly recommend segregating tag hierarchies for SCADA _monitoring_ from hierarchies for SCADA _commands_ from hierarchies that are purely _internal_ to the PLC. While there are nuances by PLC brand, the fundamentals of comms optimization (big blobs of densely packed data) apply to all of them.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [August 12, 2026, 8:24pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/6 "2026-08-12T20:24:27Z")

</div>

On that note, if at all possible have the PLC code written around UDTs instead of AOIs. Ignition is much more efficient reading UDT members than AOI members. The UDT can be fed to the AOI.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 12, 2026, 11:55pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/7 "2026-08-12T23:55:50Z")

</div>

This word document was produced by Claude (AI). I asked it to collate the best practices scraped from the forum back in March. It did a pretty good job, except that it created separate tables for each of the poor/better practices, and didn't size the comment columns well...  
The forum doesn't allow uploading docx so I had to zip it.

[Ignition\_Best\_Practices\_Guide.zip](https://forum.inductiveautomation.com/uploads/short-url/1NM9KKnVQAADTm3xFesI0YoW4xi.zip) (26.6 KB)

---

<div class="post-metadata">

**Author:** ![media](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/media/32/86828_2.png) [@media](https://forum.inductiveautomation.com/u/media)\
**Post date:** [August 13, 2026, 2:02pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/8 "2026-08-13T14:02:35Z")

</div>

Spot on about UDTs over AOIs for Ignition comms optimization.

A few practical takeaways from real-world plant startups:

1. **Standardize Tag Hierarchy Early:** Don't let PLC devs dump random tags. Use structured UDTs with separated read/write/internal blocks so driver requests can pack data efficiently.

2. **Device Connection Strategy:** Avoid poll-rate overkill on non-critical tags. Split fast-changing process variables and slow diagnostic tags into different poll groups.

3. **OPC-UA Security:** Enforce Sign & Encrypt at the PLC/OPC level from day one. Don't leave security for "after commissioning" — it almost never happens.

4. **Alarm State Management:** Handle alarms directly at the PLC level (latching/state) and pass structured states to Ignition, rather than trying to calculate alarm logic purely inside SCADA scripts.

What PLC platform are you pairing with Ignition for this facility (Logix, Siemens, Beckhoff)?

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [August 13, 2026, 2:19pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/9 "2026-08-13T14:19:05Z")

</div>

> [@media](#):
>
> A few practical takeaways from real-world plant startups:

LLM much?

---

<div class="post-metadata">

**Author:** ![media](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/media/32/86828_2.png) [@media](https://forum.inductiveautomation.com/u/media)\
**Post date:** [August 13, 2026, 5:07pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/10 "2026-08-13T17:07:07Z")

</div>

Fair play! Bullet points do look a bit robotic, but I just habit-write notes like that. Bottom line remains though — flat tags and poll rates will destroy OPC performance every time. What's your go-to strategy for OPC-UA polling groups when dealing with thousands of tags?

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 13, 2026, 11:30pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/11 "2026-08-13T23:30:28Z")

</div>

Even that response sounds very LLM-ey... 🤨

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/c/7c11375dbae96a47560fee3b1a0e4c075ec9f224.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/7/27438bf95cd0fb5a7cf9d118727ccb294c547931.png)

Maybe the second response was intentionally drafted purely in AI to make a point. Sounds like something I would do 😁

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 14, 2026, 12:02am UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/12 "2026-08-14T00:02:53Z")

</div>

I've been watching this account since approved. The posts are obviously AI generated, but I can't really fault that on its own, it's often better than reading somebody whose native language isn't English attempt it anyway.

If it turns into spam just report it.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 14, 2026, 12:13am UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/13 "2026-08-14T00:13:05Z")

</div>

To be fair, AI- **detection** tools have a poor track record, especially with those whose writing style is particularly formal. _Cough_.

---

<div class="post-metadata">

**Author:** ![media](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/media/32/86828_2.png) [@media](https://forum.inductiveautomation.com/u/media)\
**Post date:** [August 14, 2026, 8:19am UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/14 "2026-08-14T08:19:29Z")

</div>

Busted! Kevin is spot on. English isn't my native language, so I run my thoughts through AI to clean up grammar and phrasing before posting. Guess it tends to polish things into that signature robotic tone. No spam intended here, just genuinely interested in how you guys structure large tag counts in Ignition without tanking the scan rates. Appreciate the honesty and understanding from you all. I'll tone down the heavy editing so it sounds more human!

---

<div class="post-metadata">

**Author:** ![Nol](https://avatars.discourse-cdn.com/v4/letter/n/8e8cbc/32.png) [@Nol](https://forum.inductiveautomation.com/u/Nol)\
**Post date:** [August 14, 2026, 2:08pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/15 "2026-08-14T14:08:34Z")

</div>

The struggles of this day and age trying to know if one is some agent spamming posts on its own or is it someone just using a auto formatting for grammar and language barriers.

---

<div class="post-metadata">

**Author:** ![Kevin\_Flener](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@Kevin\_Flener](https://forum.inductiveautomation.com/u/Kevin_Flener)\
**Post date:** [August 14, 2026, 6:05pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/16 "2026-08-14T18:05:42Z")

</div>

> [@media](#):
>
> h — flat

This long dash is usually a dead giveaway though.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 14, 2026, 6:18pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/17 "2026-08-14T18:18:09Z")

</div>

> [@Kevin\_Flener](#):
>
> dead giveaway

No, that (the em-dash) is just one of the most common false positives, popular with us formal types. ☹

---

<div class="post-metadata">

**Author:** ![Kevin\_Flener](https://avatars.discourse-cdn.com/v4/letter/k/74df32/32.png) [@Kevin\_Flener](https://forum.inductiveautomation.com/u/Kevin_Flener)\
**Post date:** [August 14, 2026, 6:26pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/18 "2026-08-14T18:26:43Z")

</div>

I've known quite a few formal types, and I've never seen any of them use it.  
But I'm willing to believe there are some who do. And I will note I did say "Usually".

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [August 14, 2026, 6:42pm UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/19 "2026-08-14T18:42:20Z")

</div>

The real giveaway is ending the posts asking questions like he does at the end of his posts imo

> [@media](#):
>
> What PLC platform are you pairing with Ignition for this facility (Logix, Siemens, Beckhoff)?

> [@media](#):
>
> What's your go-to strategy for OPC-UA polling groups when dealing with thousands of tags?

Makes me think of everytime I google something now

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 16, 2026, 2:52am UTC](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749/20 "2026-08-16T02:52:14Z")

</div>

It was these as well as the summary headings in the numbered list for me

> [@media](#):
>
> 1. Device Connection Strategy

This one in particular didn't sound like what a human would come up with for the content of that point, particularly for a forum post

But now at least it makes sense. I think I would write in your native language and use Google translate instead to translate into English so your thoughts come through unadultered. Although I only know English so I don't actually know how well it translates... At lease those little grammatical errors it might produce would sound more human though

[Next page](https://forum.inductiveautomation.com/t/best-practices-for-plc-and-scada-integration-in-industrial-facilities/116749.md?page=2)
