Sachverhalt:
A.
Der 1960 geborene A._ ist seit xxxx Inhaber eines Carrosseriebetriebes. Am 28. Februar 2000 meldete er sich nach einem Sturz wegen belastungsabhängiger rechtsseitiger Schulterbeschwerden bei der Invalidenversicherung zum Rentenbezug an. Gemäss Verfügungen vom 8. Februar 2002 sprach ihm die IV-Stelle des Kantons Zürich ab 1. Juni 1999 auf der Grundlage eines Invaliditätsgrades von 70 % eine ganze Invalidenrente zu, die mit Mitteilungen vom 30. März 2004 und 2. Mai 2007 bestätigt wurde. Im Rahmen eines Revisionsverfahrens holte die IV-Stelle ein interdisziplinäres Gutachten der Medizinischen Abklärungsstelle (MEDAS) Bern vom 2. Mai 2013 ein und veranlasste eine Abklärung für Selbstständigerwerbende (Bericht vom 23. Januar 2014). Mit Verfügung vom 18. Juli 2014 hob sie die bisher ausgerichtete Invalidenrente auf Ende August 2014 auf. Die hiegegen eingereichte Beschwerde hiess das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 6. Oktober 2015 teilweise gut und wies die Sache zu ergänzender Abklärung an die Verwaltung zurück.
Die IV-Stelle holte einen weiteren Abklärungsbericht für Selbstständigerwerbende (vom 31. März 2016) ein. Mit Verfügung vom 31. März 2017 stellte sie fest, dass die ganze Invalidenrente per August 2014 aufgehoben bleibe.
B.
Die hiegegen eingereichte Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 22. August 2017 ab.
C.
Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten lässt A._ beantragen, der vorinstanzliche Entscheid sei aufzuheben und es sei ihm ab 1. September 2014 weiterhin eine ganze Invalidenrente zuzusprechen.
Während die IV-Stelle auf Abweisung der Beschwerde schliesst, verzichtet das Bundesamt für Sozialversicherungen auf eine Vernehmlassung.
Erwägungen:
1.
Mit der Beschwerde in öffentlich-rechtlichen Angelegenheiten kann u.a. die Verletzung von Bundesrecht gerügt werden (Art. 95 lit. a BGG), die Feststellung des Sachverhalts nur, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Art. 95 BGG beruht und wenn die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (Art. 97 Abs. 1 BGG). Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (Art. 105 Abs. 1 BGG). Es kann die Sachverhaltsfeststellung der Vorinstanz von Amtes wegen berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Art. 95 beruht (Art. 105 Abs. 2 BGG).
2.
Das Sozialversicherungsgericht hat die Bestimmung über den Umfang des Rentenanspruchs und die Rechtsprechung zur Invaliditätsbemessung bei selbstständigerwerbenden Versicherten nach der ausserordentlichen Methode anhand eines erwerblich gewichteten Betätigungsvergleichs (BGE 128 V 29 E. 1 S. 30 f.) zutreffend dargelegt. Darauf wird verwiesen.
3.
3.1. Die Vorinstanz ging in gesundheitlicher Hinsicht davon aus, dass dem Versicherten die angestammte Tätigkeit als Carrosseriespengler zu 50 %, eine leidensangepasste Arbeit zu 100 % zumutbar wäre. Vor Eintritt des Gesundheitsschadens sei er zu 90 % handwerklich tätig gewesen, während 10 % auf die Aufgaben als Geschäftsführer entfallen seien. Nach Eintritt des Gesundheitsschadens habe er gemäss eigenen Angaben 3 - 4 Stunden im Tag Büroarbeiten erledigt. Bezogen auf eine Arbeitswoche entsprächen 17.5 Stunden (5 x 3.5) einem Pensum von rund 42 %. Handwerklich sei der Beschwerdeführer nicht mehr tätig. Er müsse sich jedoch im Rahmen der ärztlichen Zumutbarkeitsbeurteilung ein Pensum von 50 % anrechnen lassen. Eine erwerbliche Gewichtung der entsprechenden Arbeitspensen ergebe keinen Invaliditätsgrad mehr: Werde für die Tätigkeit im Büro ein Einkommen von Fr. 40'179.- eingesetzt und liessen sich mit handwerklicher Arbeit Einkünfte von Fr. 33'500.- erzielen, resultiere ein gesamthaftes Einkommen von Fr. 73'679.-, während das gesamte Einkommen vor Eintritt des Gesundheitsschadens Fr. 73'265.- betragen habe.
3.2. Der Beschwerdeführer rügt, die Vorinstanz habe verkannt, dass er mit Rücksicht auf seinen Gesundheitsschaden nicht mehr als Spengler arbeiten könne, wie im Abklärungsbericht vom 31. März 2016 festgehalten wurde. Er habe Unterlagen eingereicht, aus welchen ersichtlich ist, dass er 85 % der von einem Spengler üblicherweise verrichteten Arbeiten nicht mehr ausführen könne. Wenn das kantonale Gericht annehme, dass er in einem anderen Betrieb als Spengler arbeiten kann, hätte es prüfen müssen, ob er in diesem Beruf noch arbeitsfähig sei, eine Betriebsaufgabe mit Blick auf sein Alter von knapp 58 Jahren verhältnismässig sei, und ob aufgrund des langjährigen Rentenbezugs berufliche Massnahmen einzuleiten seien. Sodann sei die Annahme des kantonalen Gerichts, er habe nach Eintritt des Gesundheitsschadens drei bis vier Stunden Büroarbeiten täglich übernommen, unzutreffend. Laut Abklärungsbericht habe er angegeben, an höchstens vier Tagen pro Woche jeweils drei bis vier Stunden in der Carrosserie anwesend zu sein. Seine Präsenz im Geschäft könne zwischen viermal pro Woche und weniger variieren. Die Anwesenheit sei von seiner jeweiligen gesundheitlichen Verfassung abhängig. Durchschnittlich ergebe sich eine Arbeitswoche von 14 Stunden (4 x 3.5), entsprechend einem Pensum von 34 %. Das von der Vorinstanz errechnete Arbeitspensum von 42 % sei aktenwidrig.
Ebenfalls unrichtig ermittelt habe das Sozialversicherungsgericht das hypothetische Einkommen ohne Invalidität (Valideneinkommen) als Spengler. Der angenommene Lohn von Fr. 67'000.- im Jahr sei viel zu tief. Aufgrund seiner Berufserfahrung und unter Annahme einer Kaderstellung im Betrieb würde sich sein Gehalt als vollzeitlich beschäftigter Spengler auf rund Fr. 103'000.- im Jahr belaufen. Demgegenüber habe die Vorinstanz das Invalideneinkommen - den Lohn für die Bürotätigkeit - mit Fr. 95'664.- im Jahr eindeutig zu hoch angesetzt, da er den Betrieb nicht leite. Der von ihm angeführte Jahreslohn von Fr. 57'297.- (Fr. 4'774.75 im Monat) entspreche der Entlöhnung für seine Tätigkeit. Eine korrekte Berechnung mit einem Arbeitspensum von insgesamt 34 %, wovon 15 % in der Werkstatt und 19 % im Büro, ergebe ein Invalideneinkommen von Fr. 26'393.-; aus dem Vergleich mit dem Valideneinkommen als Spengler von Fr. 103'376.- resultiere ein Invaliditätsgrad von 74.47 %.
4.
4.1. Mit Bezug auf die Arbeitsunfähigkeit bestehen in zweifacher Hinsicht Unklarheiten. Fraglich ist insbesondere, in welchem Umfang der Versicherte in seinem Geschäft noch Spenglerarbeiten ausführen kann. Mit dem Einwand vom 26. Juni 2014 reichte der Beschwerdeführer der IV-Stelle in der Annahme, der begutachtende Arzt kenne sich mit den anfallenden Arbeiten nicht genügend aus, Unterlagen zur Tätigkeit eines Carrosseriespenglers anhand von vier Beispielen ein und machte unter Hinweis auf die zu verrichtenden Arbeiten geltend, nur 15 Prozent davon selbst ausführen zu können. Die IV-Stelle nahm zu diesem Einwand keine Stellung, wie die Vorinstanz in ihrem Rückweisungsentscheid vom 6. Oktober 2015 bemerkte und deswegen eine Verletzung des rechtlichen Gehörs durch die Verwaltung rügte. Im Abklärungsbericht vom 31. März 2016 hielt die Beschwerdegegnerin fest, dass der Versicherte keine Spenglerarbeiten mehr ausführen könne. Das kantonale Gericht wiederum erklärte, der Beschwerdeführer müsse sich gestützt auf die ärztliche Zumutbarkeitsbeurteilung ein Pensum von 50 % anrechnen lassen. Die Einwendungen vom 26. Juni 2014 betreffend den Grad der Arbeitsunfähigkeit als Spengler und die damit eingereichten Unterlagen, welche den Vorbringen des Beschwerdeführers zufolge selbst eine Teilarbeitsfähigkeit nicht als wahrscheinlich erscheinen lassen, wurden weder von der IV-Stelle noch der Vorinstanz anhand einer ergänzenden ärztlichen Stellungnahme geprüft. Insoweit hat das kantonale Gericht den rechtserheblichen medizinischen Sachverhalt unvollständig abgeklärt (vgl. E. 1 hievor).
4.2. Die Beschwerdegegnerin wird eine entsprechende Aktenergänzung vornehmen. Ist diese erfolgt, wird zu berücksichtigen sein, dass die vorstehend dargelegten Einwendungen des Beschwerdeführers zu den dabei verwendeten hypothetischen Einkünften mit und ohne Invalidität (E. 3.2 zweiter Absatz hievor) nicht ohne weiteres als unbegründet bezeichnet werden können. Ob der Versicherte im eigenen Betrieb tatsächlich qualifizierte kaufmännische Arbeit verrichtet, die im Falle eines vollzeitlichen Arbeitseinsatzes mit rund Fr. 96'000.- im Jahr entlöhnt würde, wie das Sozialversicherungsgericht annimmt, oder ob er lediglich einfache Bürotätigkeiten mit geringerer Entlöhnung (rund Fr. 57'000.- im Jahr) auszuüben vermag, wie in der Beschwerde insbesondere unter Hinweis auf die fehlende Ausbildung geltend gemacht wird, bedarf auf jeden Fall der Klärung, ohne welche die Invalidität nicht rechtskonform bemessen werden kann. Damit erübrigt sich eine Stellungnahme zu den weiteren Beschwerdevorbringen.
5.
Dem Verfahrensausgang entsprechend sind die Gerichtskosten der unterliegenden IV-Stelle aufzuerlegen (Art. 66 Abs. 1 Satz 1 BGG). Diese hat dem Beschwerdeführer überdies eine Parteientschädigung zu bezahlen (Art. 68 Abs. 1 und 2 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird teilweise gutgeheissen. Der Entscheid des Sozialversicherungsgerichts des Kantons Zürich vom 22. August 2017 und die Verfügung der IV-Stelle des Kantons Zürich vom 31. März 2017 werden aufgehoben. Die Sache wird im Sinne der Erwägungen 4.1 und 4.2 zu neuer Verfügung an die IV-Stelle des Kantons Zürich zurückgewiesen.
2.
Die Gerichtskosten von Fr. 800.- werden der Beschwerdegegnerin auferlegt.
3.
Die Beschwerdegegnerin hat den Beschwerdeführer für das bundesgerichtliche Verfahren mit Fr. 2800.- zu entschädigen.
4.
Die Sache wird zur Neuverlegung der Kosten und der Parteientschädigung des vorangegangenen Verfahrens an das Sozialversicherungsgericht des Kantons Zürich zurückgewiesen.
5.
Dieses Urteil wird den Parteien, dem Sozialversicherungsgericht des Kantons Zürich und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 23. Mai 2018
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Das präsidierende Mitglied: Meyer
Der Gerichtsschreiber: Widmer